module VFX
{
    imports
    {
        Base,
    }

/* <<<<<  Cans and Jars  >>>>> */

    craftRecipe OpenCan
    {
        timedAction = OpenTinCan,
        time = 100,
        OnCreate = Recipe.OnCreate.OpenAndEat,
        tags = InHandCraft;CanBeDoneInDark,
        category = Cooking,
        

        inputs
        {
            item 1 tags[CanOpener] mode:keep flags[MayDegradeLight],
            item 1 [VFX.CannedSavoryMince;VFX.CannedBeefRavioli;VFX.CannedSpinachRavioli;VFX.CannedMushroomRavioli;VFX.CannedSpaghettiAndMeatballs;VFX.CannedSpaghetti;VFX.CannedSloppyJoe;VFX.CannedMeatloaf;VFX.CannedVegetarianChili;VFX.CannedRedBeansAndRice;VFX.CannedClamChowder;VFX.CannedBroccoliCheddarSoup;VFX.CannedChickenNoodleSoup;VFX.CannedFrenchOnionSoup;VFX.CannedLaksaNoodleSoup;VFX.CannedLentilSoup;VFX.CannedMinestroneSoup;VFX.CannedPeaHamSoup;VFX.CannedPotatoLeekSoup;VFX.CannedPumpkinSoup;VFX.CannedTomatoSoup;VFX.CannedBeefMushroomStew;VFX.CannedPepperSteakStew;VFX.CannedIrishStew;VFX.CannedSteakOnionStew;VFX.CannedChiliBeanStew;VFX.CannedVegetableStew;VFX.CannedBlackBeans;VFX.CannedChickpeas;VFX.CannedKidneyBeans;VFX.CannedLentils;VFX.CannedWhiteBeans;VFX.CannedThreeBeanMix;VFX.CannedSlicedMushroom;VFX.CannedEdamameBeans;VFX.CannedMixedVegetableMedley;VFX.CannedGreenBeans;VFX.CannedSpinach;VFX.CannedPassionfruit;VFX.CannedAppleSlices;VFX.CannedPearSlices;VFX.CannedMangoSlices;VFX.CannedLychees;VFX.CannedApricots;VFX.CannedHam;VFX.CannedSalmon;VFX.CannedAnchovies;VFX.CannedCatFood;VFX.CannedChicken;VFX.CannedPumpkinPuree;VFX.CannedCreamCorn;VFX.CannedApplePieFilling;VFX.CannedCherryPieFilling;VFX.CannedBlueberryPieFilling;VFX.CannedStrawberryPieFilling;VFX.CannedPeachPieFilling;VFX.CannedMixedBerryPieFilling;VFX.CannedLemonCreamPieFilling;VFX.CannedBlackberryPieFilling;VFX.CannedRaspberryPieFilling] mappers[VFXCanType] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:VFXCanType,
        }

        itemMapper VFXCanType
        {
            VFX.CannedSavoryMinceOpen = VFX.CannedSavoryMince,
            VFX.CannedBeefRavioliOpen = VFX.CannedBeefRavioli,
            VFX.CannedSpinachRavioliOpen = VFX.CannedSpinachRavioli,
            VFX.CannedMushroomRavioliOpen = VFX.CannedMushroomRavioli,
            VFX.CannedSpaghettiAndMeatballsOpen = VFX.CannedSpaghettiAndMeatballs,
            VFX.CannedSpaghettiOpen = VFX.CannedSpaghetti,
            VFX.CannedSloppyJoeOpen = VFX.CannedSloppyJoe,
            VFX.CannedMeatloafOpen = VFX.CannedMeatloaf,
            VFX.CannedVegetarianChiliOpen = VFX.CannedVegetarianChili,
            VFX.CannedRedBeansAndRiceOpen = VFX.CannedRedBeansAndRice,
            VFX.CannedClamChowderOpen = VFX.CannedClamChowder,

            VFX.CannedBroccoliCheddarSoupOpen = VFX.CannedBroccoliCheddarSoup,
            VFX.CannedChickenNoodleSoupOpen = VFX.CannedChickenNoodleSoup,
            VFX.CannedFrenchOnionSoupOpen = VFX.CannedFrenchOnionSoup,
            VFX.CannedLaksaNoodleSoupOpen = VFX.CannedLaksaNoodleSoup,
            VFX.CannedLentilSoupOpen = VFX.CannedLentilSoup,
            VFX.CannedMinestroneSoupOpen = VFX.CannedMinestroneSoup,
            VFX.CannedPeaHamSoupOpen = VFX.CannedPeaHamSoup,
            VFX.CannedPotatoLeekSoupOpen = VFX.CannedPotatoLeekSoup,
            VFX.CannedPumpkinSoupOpen = VFX.CannedPumpkinSoup,
            VFX.CannedTomatoSoupOpen = VFX.CannedTomatoSoup,

            VFX.CannedBeefMushroomStewOpen = VFX.CannedBeefMushroomStew,
            VFX.CannedPepperSteakStewOpen = VFX.CannedPepperSteakStew,
            VFX.CannedIrishStewOpen = VFX.CannedIrishStew,
            VFX.CannedSteakOnionStewOpen = VFX.CannedSteakOnionStew,
            VFX.CannedChiliBeanStewOpen = VFX.CannedChiliBeanStew,
            VFX.CannedVegetableStewOpen = VFX.CannedVegetableStew,

            VFX.CannedBlackBeansOpen = VFX.CannedBlackBeans,
            VFX.CannedChickpeasOpen = VFX.CannedChickpeas,
            VFX.CannedKidneyBeansOpen = VFX.CannedKidneyBeans,
            VFX.CannedLentilsOpen = VFX.CannedLentils,
            VFX.CannedWhiteBeansOpen = VFX.CannedWhiteBeans,
            VFX.CannedThreeBeanMixOpen = VFX.CannedThreeBeanMix,

            VFX.CannedSlicedMushroomOpen = VFX.CannedSlicedMushroom,
            VFX.CannedEdamameBeansOpen = VFX.CannedEdamameBeans,
            VFX.CannedMixedVegetableMedleyOpen = VFX.CannedMixedVegetableMedley,
            VFX.CannedGreenBeansOpen = VFX.CannedGreenBeans,
            VFX.CannedSpinachOpen = VFX.CannedSpinach,
            VFX.CannedPumpkinPureeOpen = VFX.CannedPumpkinPuree,
            VFX.CannedCreamCornOpen = VFX.CannedCreamCorn,

            VFX.CannedPassionfruitOpen = VFX.CannedPassionfruit,
            VFX.CannedAppleSlicesOpen = VFX.CannedAppleSlices,
            VFX.CannedPearSlicesOpen = VFX.CannedPearSlices,
            VFX.CannedMangoSlicesOpen = VFX.CannedMangoSlices,
            VFX.CannedLycheesOpen = VFX.CannedLychees,
            VFX.CannedApricotsOpen = VFX.CannedApricots,

            VFX.CannedHamOpen = VFX.CannedHam,
            VFX.CannedSalmonOpen = VFX.CannedSalmon,
            VFX.CannedAnchoviesOpen = VFX.CannedAnchovies,
            VFX.CannedCatFoodOpen = VFX.CannedCatFood,
            VFX.CannedChickenOpen = VFX.CannedChicken,

            VFX.CannedApplePieFillingOpen = VFX.CannedApplePieFilling,
            VFX.CannedCherryPieFillingOpen = VFX.CannedCherryPieFilling,
            VFX.CannedBlueberryPieFillingOpen = VFX.CannedBlueberryPieFilling,
            VFX.CannedStrawberryPieFillingOpen = VFX.CannedStrawberryPieFilling,
            VFX.CannedPeachPieFillingOpen = VFX.CannedPeachPieFilling,
            VFX.CannedMixedBerryPieFillingOpen = VFX.CannedMixedBerryPieFilling,
            VFX.CannedLemonCreamPieFillingOpen = VFX.CannedLemonCreamPieFilling,
            VFX.CannedBlackberryPieFillingOpen = VFX.CannedBlackberryPieFilling,
            VFX.CannedRaspberryPieFillingOpen = VFX.CannedRaspberryPieFilling,
        }
    }

    craftRecipe OpenCanKnifeOrSharpStoneFlake
    {
        timedAction = OpenTinCan,
        time = 80,
        OnCreate = RecipeCodeOnCreate.openCan,
        Tooltip = Tooltip_Recipe_OpenCanWithKnife,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,
        

        inputs
        {
            item 1 tags[SharpKnife] mode:keep flags[MayDegrade;IsNotDull],
            item 1 [VFX.CannedSavoryMince;VFX.CannedBeefRavioli;VFX.CannedSpinachRavioli;VFX.CannedMushroomRavioli;VFX.CannedSpaghettiAndMeatballs;VFX.CannedSpaghetti;VFX.CannedSloppyJoe;VFX.CannedMeatloaf;VFX.CannedVegetarianChili;VFX.CannedRedBeansAndRice;VFX.CannedClamChowder;VFX.CannedBroccoliCheddarSoup;VFX.CannedChickenNoodleSoup;VFX.CannedFrenchOnionSoup;VFX.CannedLaksaNoodleSoup;VFX.CannedLentilSoup;VFX.CannedMinestroneSoup;VFX.CannedPeaHamSoup;VFX.CannedPotatoLeekSoup;VFX.CannedPumpkinSoup;VFX.CannedTomatoSoup;VFX.CannedBeefMushroomStew;VFX.CannedPepperSteakStew;VFX.CannedIrishStew;VFX.CannedSteakOnionStew;VFX.CannedChiliBeanStew;VFX.CannedVegetableStew;VFX.CannedBlackBeans;VFX.CannedChickpeas;VFX.CannedKidneyBeans;VFX.CannedLentils;VFX.CannedWhiteBeans;VFX.CannedThreeBeanMix;VFX.CannedSlicedMushroom;VFX.CannedEdamameBeans;VFX.CannedMixedVegetableMedley;VFX.CannedGreenBeans;VFX.CannedSpinach;VFX.CannedPassionfruit;VFX.CannedAppleSlices;VFX.CannedPearSlices;VFX.CannedMangoSlices;VFX.CannedLychees;VFX.CannedApricots;VFX.CannedHam;VFX.CannedSalmon;VFX.CannedAnchovies;VFX.CannedCatFood;VFX.CannedChicken;VFX.CannedPumpkinPuree;VFX.CannedCreamCorn;VFX.CannedApplePieFilling;VFX.CannedCherryPieFilling;VFX.CannedBlueberryPieFilling;VFX.CannedStrawberryPieFilling;VFX.CannedPeachPieFilling;VFX.CannedMixedBerryPieFilling;VFX.CannedLemonCreamPieFilling;VFX.CannedBlackberryPieFilling;VFX.CannedRaspberryPieFilling] mappers[VFXCanType] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:VFXCanType,
        }

        itemMapper VFXCanType
        {
            VFX.CannedSavoryMinceOpen = VFX.CannedSavoryMince,
            VFX.CannedBeefRavioliOpen = VFX.CannedBeefRavioli,
            VFX.CannedSpinachRavioliOpen = VFX.CannedSpinachRavioli,
            VFX.CannedMushroomRavioliOpen = VFX.CannedMushroomRavioli,
            VFX.CannedSpaghettiAndMeatballsOpen = VFX.CannedSpaghettiAndMeatballs,
            VFX.CannedSpaghettiOpen = VFX.CannedSpaghetti,
            VFX.CannedSloppyJoeOpen = VFX.CannedSloppyJoe,
            VFX.CannedMeatloafOpen = VFX.CannedMeatloaf,
            VFX.CannedVegetarianChiliOpen = VFX.CannedVegetarianChili,
            VFX.CannedRedBeansAndRiceOpen = VFX.CannedRedBeansAndRice,
            VFX.CannedClamChowderOpen = VFX.CannedClamChowder,

            VFX.CannedBroccoliCheddarSoupOpen = VFX.CannedBroccoliCheddarSoup,
            VFX.CannedChickenNoodleSoupOpen = VFX.CannedChickenNoodleSoup,
            VFX.CannedFrenchOnionSoupOpen = VFX.CannedFrenchOnionSoup,
            VFX.CannedLaksaNoodleSoupOpen = VFX.CannedLaksaNoodleSoup,
            VFX.CannedLentilSoupOpen = VFX.CannedLentilSoup,
            VFX.CannedMinestroneSoupOpen = VFX.CannedMinestroneSoup,
            VFX.CannedPeaHamSoupOpen = VFX.CannedPeaHamSoup,
            VFX.CannedPotatoLeekSoupOpen = VFX.CannedPotatoLeekSoup,
            VFX.CannedPumpkinSoupOpen = VFX.CannedPumpkinSoup,
            VFX.CannedTomatoSoupOpen = VFX.CannedTomatoSoup,

            VFX.CannedBeefMushroomStewOpen = VFX.CannedBeefMushroomStew,
            VFX.CannedPepperSteakStewOpen = VFX.CannedPepperSteakStew,
            VFX.CannedIrishStewOpen = VFX.CannedIrishStew,
            VFX.CannedSteakOnionStewOpen = VFX.CannedSteakOnionStew,
            VFX.CannedChiliBeanStewOpen = VFX.CannedChiliBeanStew,
            VFX.CannedVegetableStewOpen = VFX.CannedVegetableStew,

            VFX.CannedBlackBeansOpen = VFX.CannedBlackBeans,
            VFX.CannedChickpeasOpen = VFX.CannedChickpeas,
            VFX.CannedKidneyBeansOpen = VFX.CannedKidneyBeans,
            VFX.CannedLentilsOpen = VFX.CannedLentils,
            VFX.CannedWhiteBeansOpen = VFX.CannedWhiteBeans,
            VFX.CannedThreeBeanMixOpen = VFX.CannedThreeBeanMix,

            VFX.CannedSlicedMushroomOpen = VFX.CannedSlicedMushroom,
            VFX.CannedEdamameBeansOpen = VFX.CannedEdamameBeans,
            VFX.CannedMixedVegetableMedleyOpen = VFX.CannedMixedVegetableMedley,
            VFX.CannedGreenBeansOpen = VFX.CannedGreenBeans,
            VFX.CannedSpinachOpen = VFX.CannedSpinach,
            VFX.CannedPumpkinPureeOpen = VFX.CannedPumpkinPuree,
            VFX.CannedCreamCornOpen = VFX.CannedCreamCorn,

            VFX.CannedPassionfruitOpen = VFX.CannedPassionfruit,
            VFX.CannedAppleSlicesOpen = VFX.CannedAppleSlices,
            VFX.CannedPearSlicesOpen = VFX.CannedPearSlices,
            VFX.CannedMangoSlicesOpen = VFX.CannedMangoSlices,
            VFX.CannedLycheesOpen = VFX.CannedLychees,
            VFX.CannedApricotsOpen = VFX.CannedApricots,

            VFX.CannedHamOpen = VFX.CannedHam,
            VFX.CannedSalmonOpen = VFX.CannedSalmon,
            VFX.CannedAnchoviesOpen = VFX.CannedAnchovies,
            VFX.CannedCatFoodOpen = VFX.CannedCatFood,
            VFX.CannedChickenOpen = VFX.CannedChicken,

            VFX.CannedApplePieFillingOpen = VFX.CannedApplePieFilling,
            VFX.CannedCherryPieFillingOpen = VFX.CannedCherryPieFilling,
            VFX.CannedBlueberryPieFillingOpen = VFX.CannedBlueberryPieFilling,
            VFX.CannedStrawberryPieFillingOpen = VFX.CannedStrawberryPieFilling,
            VFX.CannedPeachPieFillingOpen = VFX.CannedPeachPieFilling,
            VFX.CannedMixedBerryPieFillingOpen = VFX.CannedMixedBerryPieFilling,
            VFX.CannedLemonCreamPieFillingOpen = VFX.CannedLemonCreamPieFilling,
            VFX.CannedBlackberryPieFillingOpen = VFX.CannedBlackberryPieFilling,
            VFX.CannedRaspberryPieFillingOpen = VFX.CannedRaspberryPieFilling,
        }
    }

    craftRecipe OpenInsectCan
    {
        timedAction = VFX.OpenCanInsect,
        time = 20,
        tags = InHandCraft;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.CannedWorms;VFX.CannedSnails;VFX.CannedCrickets] mappers[VFXInsectCanType] flags[Prop2],
        }

        outputs
        {
            item 6 mapper:VFXInsectCanType,
            item 1 VFX.SmallTinCanEmpty,
        }

        itemMapper VFXInsectCanType
        {
            Base.Worm = VFX.CannedWorms,
            Base.Snail = VFX.CannedSnails,
            Base.Cricket = VFX.CannedCrickets,
        }
    }

    craftRecipe OpenBoxOfCannedFood
    {
        timedAction = UnPackBox,
        time = 100,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,

        inputs
        {
            item 1 [VFX.CannedSavoryMince_Box;VFX.CannedBeefRavioli_Box;VFX.CannedSpinachRavioli_Box;VFX.CannedMushroomRavioli_Box;VFX.CannedSpaghettiAndMeatballs_Box;VFX.CannedSpaghetti_Box;VFX.CannedSloppyJoe_Box;VFX.CannedMeatloaf_Box;VFX.CannedVegetarianChili_Box;VFX.CannedRedBeansAndRice_Box;VFX.CannedClamChowder_Box;VFX.CannedBroccoliCheddarSoup_Box;VFX.CannedChickenNoodleSoup_Box;VFX.CannedFrenchOnionSoup_Box;VFX.CannedLaksaNoodleSoup_Box;VFX.CannedLentilSoup_Box;VFX.CannedMinestroneSoup_Box;VFX.CannedPeaHamSoup_Box;VFX.CannedPotatoLeekSoup_Box;VFX.CannedPumpkinSoup_Box;VFX.CannedTomatoSoup_Box;VFX.CannedBeefMushroomStew_Box;VFX.CannedPepperSteakStew_Box;VFX.CannedIrishStew_Box;VFX.CannedSteakOnionStew_Box;VFX.CannedChiliBeanStew_Box;VFX.CannedVegetableStew_Box;VFX.CannedBlackBeans_Box;VFX.CannedChickpeas_Box;VFX.CannedKidneyBeans_Box;VFX.CannedLentils_Box;VFX.CannedWhiteBeans_Box;VFX.CannedThreeBeanMix_Box;VFX.CannedSlicedMushroom_Box;VFX.CannedEdamameBeans_Box;VFX.CannedMixedVegetableMedley_Box;VFX.CannedGreenBeans_Box;VFX.CannedSpinach_Box;VFX.CannedPassionfruit_Box;VFX.CannedAppleSlices_Box;VFX.CannedPearSlices_Box;VFX.CannedMangoSlices_Box;VFX.CannedLychees_Box;VFX.CannedApricots_Box;VFX.CannedPumpkinPuree_Box;VFX.CannedCreamCorn_Box;VFX.CannedApplePieFilling_Box;VFX.CannedCherryPieFilling_Box;VFX.CannedBlueberryPieFilling_Box;VFX.CannedStrawberryPieFilling_Box;VFX.CannedPeachPieFilling_Box;VFX.CannedMixedBerryPieFilling_Box;VFX.CannedLemonCreamPieFilling_Box;VFX.CannedBlackberryPieFilling_Box;VFX.CannedRaspberryPieFilling_Box] mappers[VFXBoxType] flags[AllowFavorite;InheritFavorite],
        }

        outputs
        {
            item 6 mapper:VFXBoxType,
        }

        itemMapper VFXBoxType
        {
            VFX.CannedSavoryMince = VFX.CannedSavoryMince_Box,
            VFX.CannedBeefRavioli = VFX.CannedBeefRavioli_Box,
            VFX.CannedSpinachRavioli = VFX.CannedSpinachRavioli_Box,
            VFX.CannedMushroomRavioli = VFX.CannedMushroomRavioli_Box,
            VFX.CannedSpaghettiAndMeatballs = VFX.CannedSpaghettiAndMeatballs_Box,
            VFX.CannedSpaghetti = VFX.CannedSpaghetti_Box,
            VFX.CannedSloppyJoe = VFX.CannedSloppyJoe_Box,
            VFX.CannedMeatloaf = VFX.CannedMeatloaf_Box,
            VFX.CannedVegetarianChili = VFX.CannedVegetarianChili_Box,
            VFX.CannedRedBeansAndRice = VFX.CannedRedBeansAndRice_Box,
            VFX.CannedClamChowder = VFX.CannedClamChowder_Box,

            VFX.CannedBroccoliCheddarSoup = VFX.CannedBroccoliCheddarSoup_Box,
            VFX.CannedChickenNoodleSoup = VFX.CannedChickenNoodleSoup_Box,
            VFX.CannedFrenchOnionSoup = VFX.CannedFrenchOnionSoup_Box,
            VFX.CannedLaksaNoodleSoup = VFX.CannedLaksaNoodleSoup_Box,
            VFX.CannedLentilSoup = VFX.CannedLentilSoup_Box,
            VFX.CannedMinestroneSoup = VFX.CannedMinestroneSoup_Box,
            VFX.CannedPeaHamSoup = VFX.CannedPeaHamSoup_Box,
            VFX.CannedPotatoLeekSoup = VFX.CannedPotatoLeekSoup_Box,
            VFX.CannedPumpkinSoup = VFX.CannedPumpkinSoup_Box,
            VFX.CannedTomatoSoup = VFX.CannedTomatoSoup_Box,

            VFX.CannedBeefMushroomStew = VFX.CannedBeefMushroomStew_Box,
            VFX.CannedPepperSteakStew = VFX.CannedPepperSteakStew_Box,
            VFX.CannedIrishStew = VFX.CannedIrishStew_Box,
            VFX.CannedSteakOnionStew = VFX.CannedSteakOnionStew_Box,
            VFX.CannedChiliBeanStew = VFX.CannedChiliBeanStew_Box,
            VFX.CannedVegetableStew = VFX.CannedVegetableStew_Box,

            VFX.CannedBlackBeans = VFX.CannedBlackBeans_Box,
            VFX.CannedChickpeas = VFX.CannedChickpeas_Box,
            VFX.CannedKidneyBeans = VFX.CannedKidneyBeans_Box,
            VFX.CannedLentils = VFX.CannedLentils_Box,
            VFX.CannedWhiteBeans = VFX.CannedWhiteBeans_Box,
            VFX.CannedThreeBeanMix = VFX.CannedThreeBeanMix_Box,

            VFX.CannedSlicedMushroom = VFX.CannedSlicedMushroom_Box,
            VFX.CannedEdamameBeans = VFX.CannedEdamameBeans_Box,
            VFX.CannedMixedVegetableMedley = VFX.CannedMixedVegetableMedley_Box,
            VFX.CannedGreenBeans = VFX.CannedGreenBeans_Box,
            VFX.CannedSpinach = VFX.CannedSpinach_Box,
            VFX.CannedPumpkinPuree = VFX.CannedPumpkinPuree_Box,
            VFX.CannedCreamCorn = VFX.CannedCreamCorn_Box,

            VFX.CannedPassionfruit = VFX.CannedPassionfruit_Box,
            VFX.CannedAppleSlices = VFX.CannedAppleSlices_Box,
            VFX.CannedPearSlices = VFX.CannedPearSlices_Box,
            VFX.CannedMangoSlices = VFX.CannedMangoSlices_Box,
            VFX.CannedLychees = VFX.CannedLychees_Box,
            VFX.CannedApricots = VFX.CannedApricots_Box,

            VFX.CannedApplePieFilling = VFX.CannedApplePieFilling_Box,
            VFX.CannedCherryPieFilling = VFX.CannedCherryPieFilling_Box,
            VFX.CannedBlueberryPieFilling = VFX.CannedBlueberryPieFilling_Box,
            VFX.CannedStrawberryPieFilling = VFX.CannedStrawberryPieFilling_Box,
            VFX.CannedPeachPieFilling = VFX.CannedPeachPieFilling_Box,
            VFX.CannedMixedBerryPieFilling = VFX.CannedMixedBerryPieFilling_Box,
            VFX.CannedLemonCreamPieFilling = VFX.CannedLemonCreamPieFilling_Box,
            VFX.CannedBlackberryPieFilling = VFX.CannedBlackberryPieFilling_Box,
            VFX.CannedRaspberryPieFilling = VFX.CannedRaspberryPieFilling_Box,
        }
    }

    craftRecipe OpenBoxOfSmallCannedFood
    {
        timedAction = UnPackBox_Small,
        time = 100,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,

        inputs
        {
            item 1 [VFX.CannedHam_Box;VFX.CannedSalmon_Box;VFX.CannedAnchovies_Box;VFX.CannedCatFood_Box;VFX.CannedChicken_Box] mappers[VFXSmallCanType] flags[AllowFavorite;InheritFavorite],
        }

        outputs
        {
            item 6 mapper:VFXSmallCanType,
        }

        itemMapper VFXSmallCanType
        {
            VFX.CannedHam = VFX.CannedHam_Box,
            VFX.CannedSalmon = VFX.CannedSalmon_Box,
            VFX.CannedAnchovies = VFX.CannedAnchovies_Box,
            VFX.CannedCatFood = VFX.CannedCatFood_Box,
            VFX.CannedChicken = VFX.CannedChicken_Box,
        }
    }

    craftRecipe PackBoxOfCannedFood
    {
        timedAction = PackingBox,
        time = 100,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,

        inputs
        {
            item 6 [VFX.CannedSavoryMince;VFX.CannedBeefRavioli;VFX.CannedSpinachRavioli;VFX.CannedMushroomRavioli;VFX.CannedSpaghettiAndMeatballs;VFX.CannedSpaghetti;VFX.CannedSloppyJoe;VFX.CannedMeatloaf;VFX.CannedVegetarianChili;VFX.CannedRedBeansAndRice;VFX.CannedClamChowder;VFX.CannedBroccoliCheddarSoup;VFX.CannedChickenNoodleSoup;VFX.CannedFrenchOnionSoup;VFX.CannedLaksaNoodleSoup;VFX.CannedLentilSoup;VFX.CannedMinestroneSoup;VFX.CannedPeaHamSoup;VFX.CannedPotatoLeekSoup;VFX.CannedPumpkinSoup;VFX.CannedTomatoSoup;VFX.CannedBeefMushroomStew;VFX.CannedPepperSteakStew;VFX.CannedIrishStew;VFX.CannedSteakOnionStew;VFX.CannedChiliBeanStew;VFX.CannedVegetableStew;VFX.CannedBlackBeans;VFX.CannedChickpeas;VFX.CannedKidneyBeans;VFX.CannedLentils;VFX.CannedWhiteBeans;VFX.CannedThreeBeanMix;VFX.CannedSlicedMushroom;VFX.CannedEdamameBeans;VFX.CannedMixedVegetableMedley;VFX.CannedGreenBeans;VFX.CannedSpinach;VFX.CannedPassionfruit;VFX.CannedAppleSlices;VFX.CannedPearSlices;VFX.CannedMangoSlices;VFX.CannedLychees;VFX.CannedApricots;VFX.CannedPumpkinPuree;VFX.CannedCreamCorn;VFX.CannedApplePieFilling;VFX.CannedCherryPieFilling;VFX.CannedBlueberryPieFilling;VFX.CannedStrawberryPieFilling;VFX.CannedPeachPieFilling;VFX.CannedMixedBerryPieFilling;VFX.CannedLemonCreamPieFilling;VFX.CannedBlackberryPieFilling;VFX.CannedRaspberryPieFilling] mappers[VFXBoxType] flags[AllowFavorite;InheritFavorite;IsExclusive],
        }

        outputs
        {
            item 1 mapper:VFXBoxType,
        }

        itemMapper VFXBoxType
        {
            VFX.CannedSavoryMince_Box = VFX.CannedSavoryMince,
            VFX.CannedBeefRavioli_Box = VFX.CannedBeefRavioli,
            VFX.CannedSpinachRavioli_Box = VFX.CannedSpinachRavioli,
            VFX.CannedMushroomRavioli_Box = VFX.CannedMushroomRavioli,
            VFX.CannedSpaghettiAndMeatballs_Box = VFX.CannedSpaghettiAndMeatballs,
            VFX.CannedSpaghetti_Box = VFX.CannedSpaghetti,
            VFX.CannedSloppyJoe_Box = VFX.CannedSloppyJoe,
            VFX.CannedMeatloaf_Box = VFX.CannedMeatloaf,
            VFX.CannedVegetarianChili_Box = VFX.CannedVegetarianChili,
            VFX.CannedRedBeansAndRice_Box = VFX.CannedRedBeansAndRice,
            VFX.CannedClamChowder_Box = VFX.CannedClamChowder,

            VFX.CannedBroccoliCheddarSoup_Box = VFX.CannedBroccoliCheddarSoup,
            VFX.CannedChickenNoodleSoup_Box = VFX.CannedChickenNoodleSoup,
            VFX.CannedFrenchOnionSoup_Box = VFX.CannedFrenchOnionSoup,
            VFX.CannedLaksaNoodleSoup_Box = VFX.CannedLaksaNoodleSoup,
            VFX.CannedLentilSoup_Box = VFX.CannedLentilSoup,
            VFX.CannedMinestroneSoup_Box = VFX.CannedMinestroneSoup,
            VFX.CannedPeaHamSoup_Box = VFX.CannedPeaHamSoup,
            VFX.CannedPotatoLeekSoup_Box = VFX.CannedPotatoLeekSoup,
            VFX.CannedPumpkinSoup_Box = VFX.CannedPumpkinSoup,
            VFX.CannedTomatoSoup_Box = VFX.CannedTomatoSoup,

            VFX.CannedBeefMushroomStew_Box = VFX.CannedBeefMushroomStew,
            VFX.CannedPepperSteakStew_Box = VFX.CannedPepperSteakStew,
            VFX.CannedIrishStew_Box = VFX.CannedIrishStew,
            VFX.CannedSteakOnionStew_Box = VFX.CannedSteakOnionStew,
            VFX.CannedChiliBeanStew_Box = VFX.CannedChiliBeanStew,
            VFX.CannedVegetableStew_Box = VFX.CannedVegetableStew,

            VFX.CannedBlackBeans_Box = VFX.CannedBlackBeans,
            VFX.CannedChickpeas_Box = VFX.CannedChickpeas,
            VFX.CannedKidneyBeans_Box = VFX.CannedKidneyBeans,
            VFX.CannedLentils_Box = VFX.CannedLentils,
            VFX.CannedWhiteBeans_Box = VFX.CannedWhiteBeans,
            VFX.CannedThreeBeanMix_Box = VFX.CannedThreeBeanMix,

            VFX.CannedSlicedMushroom_Box = VFX.CannedSlicedMushroom,
            VFX.CannedEdamameBeans_Box = VFX.CannedEdamameBeans,
            VFX.CannedMixedVegetableMedley_Box = VFX.CannedMixedVegetableMedley,
            VFX.CannedGreenBeans_Box = VFX.CannedGreenBeans,
            VFX.CannedSpinach_Box = VFX.CannedSpinach,
            VFX.CannedPumpkinPuree_Box = VFX.CannedPumpkinPuree,
            VFX.CannedCreamCorn_Box = VFX.CannedCreamCorn,

            VFX.CannedPassionfruit_Box = VFX.CannedPassionfruit,
            VFX.CannedAppleSlices_Box = VFX.CannedAppleSlices,
            VFX.CannedPearSlices_Box = VFX.CannedPearSlices,
            VFX.CannedMangoSlices_Box = VFX.CannedMangoSlices,
            VFX.CannedLychees_Box = VFX.CannedLychees,
            VFX.CannedApricots_Box = VFX.CannedApricots,

            VFX.CannedApplePieFilling_Box = VFX.CannedApplePieFilling,
            VFX.CannedCherryPieFilling_Box = VFX.CannedCherryPieFilling,
            VFX.CannedBlueberryPieFilling_Box = VFX.CannedBlueberryPieFilling,
            VFX.CannedStrawberryPieFilling_Box = VFX.CannedStrawberryPieFilling,
            VFX.CannedPeachPieFilling_Box = VFX.CannedPeachPieFilling,
            VFX.CannedMixedBerryPieFilling_Box = VFX.CannedMixedBerryPieFilling,
            VFX.CannedLemonCreamPieFilling_Box = VFX.CannedLemonCreamPieFilling,
            VFX.CannedBlackberryPieFilling_Box = VFX.CannedBlackberryPieFilling,
            VFX.CannedRaspberryPieFilling_Box = VFX.CannedRaspberryPieFilling,
        }
    }

    craftRecipe PackBoxOfSmallCannedFood
    {
        timedAction = PackingBox_Small,
        time = 100,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,

        inputs
        {
            item 6 [VFX.CannedHam;VFX.CannedSalmon;VFX.CannedAnchovies;VFX.CannedCatFood;VFX.CannedChicken] mappers[VFXSmallCanType] flags[AllowFavorite;InheritFavorite;IsExclusive],
        }

        outputs
        {
            item 1 mapper:VFXSmallCanType,
        }

        itemMapper VFXSmallCanType
        {
            VFX.CannedHam_Box = VFX.CannedHam,
            VFX.CannedSalmon_Box = VFX.CannedSalmon,
            VFX.CannedAnchovies_Box = VFX.CannedAnchovies,
            VFX.CannedCatFood_Box = VFX.CannedCatFood,
            VFX.CannedChicken_Box = VFX.CannedChicken,
        }
    }

    craftRecipe OpenJar
    {
        timedAction = VFX.JarOpening,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.JarBlackOlives;VFX.JarGreenOlives;VFX.JarSundriedTomatoes;VFX.JarPickledPeppers;VFX.JarPickledEggs] mappers[VFXJars] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:VFXJars,
            item 1 Base.JarLid,
        }

        itemMapper VFXJars
        {
            VFX.JarBlackOlivesOpen = VFX.JarBlackOlives,
            VFX.JarGreenOlivesOpen = VFX.JarGreenOlives,
            VFX.JarSundriedTomatoesOpen = VFX.JarSundriedTomatoes,
            VFX.JarPickledPeppersOpen = VFX.JarPickledPeppers,
            VFX.JarPickledEggsOpen = VFX.JarPickledEggs,
        }
    }

    craftRecipe OpenJarofPickles
    {
        timedAction = VFX.JarOpening,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.JarPickles] flags[InheritFoodAge;Prop2],
        }

        outputs
        {
            item 1 VFX.JarPickleJuiceOpen,
            item 5 Base.Pickles,
        }
    }

    craftRecipe OpenJarCanning
    {
        timedAction = VFX.JarOpening,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.JarApricots;VFX.JarPlums;VFX.JarGreenBeans;VFX.JarBeetroot;VFX.JarCorn;VFX.JarPeach;VFX.JarPear;VFX.JarCherry;VFX.JarGreenPeas;VFX.JarSquash;VFX.JarZucchini;VFX.JarSweetPotato;VFX.JarBrusselSprouts;VFX.JarPumpkin;VFX.JarOnion;VFX.JarPepperJalapeno;VFX.JarCucumber;VFX.JarGarlic] flags[AllowRottenItem;InheritFoodAge;InheritCooked] mappers[VFXJarCanning] mode:destroy flags[Prop2],
        }

        outputs
        {
            item 1 mapper:VFXJarCanning,
            item 1 Base.JarLid,
        }

        itemMapper VFXJarCanning
        {
            VFX.JarApricotsOpen = VFX.JarApricots,
            VFX.JarPlumsOpen = VFX.JarPlums,
            VFX.JarGreenBeansOpen = VFX.JarGreenBeans,
            VFX.JarBeetrootOpen = VFX.JarBeetroot,
            VFX.JarCornOpen = VFX.JarCorn,
            VFX.JarPeachOpen = VFX.JarPeach,
            VFX.JarPearOpen = VFX.JarPear,
            VFX.JarCherryOpen = VFX.JarCherry,
            VFX.JarGreenPeasOpen = VFX.JarGreenPeas,
            VFX.JarSquashOpen = VFX.JarSquash,
            VFX.JarZucchiniOpen = VFX.JarZucchini,
            VFX.JarSweetPotatoOpen = VFX.JarSweetPotato,
            VFX.JarBrusselSproutsOpen = VFX.JarBrusselSprouts,
            VFX.JarPumpkinOpen = VFX.JarPumpkin,
            VFX.JarOnionOpen = VFX.JarOnion,
            VFX.JarPepperJalapenoOpen = VFX.JarPepperJalapeno,
            VFX.JarCucumberOpen = VFX.JarCucumber,
            VFX.JarGarlicOpen = VFX.JarGarlic,
        }
    }

    craftRecipe MakeJarCanning
    {
        timedAction = VFX.JarCanning,
		Time = 100,
		NeedToBeLearn = True,
		OnCreate = RecipeCodeOnCreate.makeJar,
		Tags = InHandCraft;Cooking,
        category = Cooking,
		xpAward = Cooking:10,
		AutoLearnAny = Cooking:8,

        inputs
        {
            item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeLight],
            item 1 [Base.EmptyJar] mode:destroy flags[ItemCount],
            item 1 [Base.JarLid],
            item 1 [6:VFX.Apricot;6:VFX.Plum;1:VFX.BagGreenBeans;3:VFX.Beetroot;4:Base.Corn;4:Base.Peach;4:Base.Pear;12:Base.Cherry;8:Base.Greenpeas;1:Base.Squash;3:Base.Zucchini;2:Base.SweetPotato;1:Base.BrusselSprouts;1:Base.Pumpkin;4:Base.Onion;10:Base.PepperJalapeno;3:Base.Cucumber;8:Base.Garlic] mappers[VFXFruitVeg] flags[InheritFoodAge;ItemCount;IsExclusive] mode:destroy,
            item 2.0 tags[Vinegar],
            item 1.0 [Base.Salt;Base.SeasoningSalt],
            item 1 [*],
                -fluid 1.0 [Water],
        }

        outputs
        {
            item 1 mapper:VFXFruitVeg,
        }

        itemMapper VFXFruitVeg
        {
            VFX.JarApricots = VFX.Apricot,
            VFX.JarPlums = VFX.Plum,
            VFX.JarGreenBeans = VFX.BagGreenBeans,
            VFX.JarBeetroot = VFX.Beetroot,
            VFX.JarCorn = Base.Corn,
            VFX.JarPeach = Base.Peach,
            VFX.JarPear = Base.Pear,
            VFX.JarCherry = Base.Cherry,
            VFX.JarGreenPeas = Base.Greenpeas,
            VFX.JarSquash = Base.Squash,
            VFX.JarZucchini = Base.Zucchini,
            VFX.JarSweetPotato = Base.SweetPotato,
            VFX.JarBrusselSprouts = Base.BrusselSprouts,
            VFX.JarPumpkin = Base.Pumpkin,
            VFX.JarOnion = Base.Onion,
            VFX.JarPepperJalapeno = Base.PepperJalapeno,
            VFX.JarCucumber = Base.Cucumber,
            VFX.JarGarlic = Base.Garlic,
        }
    }

/* <<<<<  Pantry  >>>>> */

    /**** Soup ****/

        craftRecipe OpenBoxSoupSachet
        {
            timedAction = VFX.SmallBagUnpacking,
            time = 30,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.BoxPumpkinSoupSachets;VFX.BoxPeaAndHamSoupSachets;VFX.BoxChickenNoodleSoupSachets;VFX.BoxTomatoSoupSachets] mappers[BoxSoupSachet] flags[Prop2],
            }

            outputs
            {
                item 4 mapper:BoxSoupSachet,
            }

            itemMapper BoxSoupSachet
            {
                VFX.PumpkinSoupSachet = VFX.BoxPumpkinSoupSachets,
                VFX.PeaAndHamSoupSachet = VFX.BoxPeaAndHamSoupSachets,
                VFX.ChickenNoodleSoupSachet = VFX.BoxChickenNoodleSoupSachets,
                VFX.TomatoSoupSachet = VFX.BoxTomatoSoupSachets,
            }
        }

        craftRecipe PrepareSoup_Pumpkin
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.PumpkinSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlPumpkinSoup = Base.Bowl,
                VFX.MugPumpkinSoup = Base.Mugl,
                VFX.MugPumpkinSoup_White = Base.MugWhite,
                VFX.MugPumpkinSoup_Spiffo = Base.MugSpiffo,
                VFX.MugPumpkinSoup_Clay = Base.ClayMug,
            }
        }

        craftRecipe PrepareSoup_PeaAndHam
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.PeaAndHamSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlPeaAndHamSoup = Base.Bowl,
                VFX.MugPeaAndHamSoup = Base.Mugl,
                VFX.MugPeaAndHamSoup_White = Base.MugWhite,
                VFX.MugPeaAndHamSoup_Spiffo = Base.MugSpiffo,
                VFX.MugPeaAndHamSoup_Clay = Base.ClayMug,
            }
        }

        craftRecipe PrepareSoup_ChickenNoodle
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.ChickenNoodleSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlChickenNoodleSoup = Base.Bowl,
                VFX.MugChickenNoodleSoup = Base.Mugl,
                VFX.MugChickenNoodleSoup_White = Base.MugWhite,
                VFX.MugChickenNoodleSoup_Spiffo = Base.MugSpiffo,
                VFX.MugChickenNoodleSoup_Clay = Base.ClayMug,
            }
        }

        craftRecipe PrepareSoup_Tomato
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.TomatoSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlTomatoSoup = Base.Bowl,
                VFX.MugTomatoSoup = Base.Mugl,
                VFX.MugTomatoSoup_White = Base.MugWhite,
                VFX.MugTomatoSoup_Spiffo = Base.MugSpiffo,
                VFX.MugTomatoSoup_Clay = Base.ClayMug,
            }
        }

    /**** Ramen ****/

        craftRecipe OpenBoxRamen
        {
            timedAction = VFX.Unpacking,
            time = 30,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.BoxChickenRamen;VFX.BoxBeefRamen;VFX.BoxShrimpRamen;VFX.BoxPorkRamen;VFX.BoxHotAndSpicyRamen;VFX.BoxSoySauceRamen] mappers[RamenType] mode:destroy flags[ItemCount;Prop2],
            }

            outputs
            {
                item 5 mapper:RamenType,
            }

            itemMapper RamenType
            {
                VFX.ChickenRamen = VFX.BoxChickenRamen,
                VFX.BeefRamen = VFX.BoxBeefRamen,
                VFX.ShrimpRamen = VFX.BoxShrimpRamen,
                VFX.PorkRamen = VFX.BoxPorkRamen,
                VFX.HotAndSpicyRamen = VFX.BoxHotAndSpicyRamen,
                VFX.SoySauceRamen = VFX.BoxSoySauceRamen,
            }
        }

        craftRecipe OpenPacketRamen
        {
            timedAction = VFX.UnpackingSmall,
            time = 10,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.ChickenRamen;VFX.BeefRamen;VFX.ShrimpRamen;VFX.PorkRamen;VFX.HotAndSpicyRamen;VFX.SoySauceRamen] mappers[FlavorType] mode:destroy flags[ItemCount;Prop2],
            }

            outputs
            {
                item 1 Base.Ramen,
                item 1 mapper:FlavorType,
            }

            itemMapper FlavorType
            {
                VFX.ChickenRamenFlavourSachet = VFX.ChickenRamen,
                VFX.BeefRamenFlavourSachet = VFX.BeefRamen,
                VFX.ShrimpRamenFlavourSachet = VFX.ShrimpRamen,
                VFX.PorkRamenFlavourSachet = VFX.PorkRamen,
                VFX.HotAndSpicyRamenFlavourSachet = VFX.HotAndSpicyRamen,
                VFX.SoySauceRamenFlavourSachet = VFX.SoySauceRamen,
            }
        }

        craftRecipe PrepareRamen
        {
            timedAction = VFX.BowlMixing,
            time = 60,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 [VFX.ChickenRamenFlavourSachet;VFX.BeefRamenFlavourSachet;VFX.ShrimpRamenFlavourSachet;VFX.PorkRamenFlavourSachet;VFX.HotAndSpicyRamenFlavourSachet;VFX.SoySauceRamenFlavourSachet] mappers[RamenBowlType] mode:destroy flags[ItemCount;InheritCondition],
                item 1 [Base.Ramen] mode:destroy flags[ItemCount],
                item 1 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                -fluid 0.3 categories[Water] mode:mixture,
            }

            outputs
            {
                item 1 mapper:RamenBowlType,
            }

            itemMapper RamenBowlType
            {
                VFX.BowlChickenRamen = VFX.ChickenRamenFlavourSachet,
                VFX.BowlBeefRamen = VFX.BeefRamenFlavourSachet,
                VFX.BowlShrimpRamen = VFX.ShrimpRamenFlavourSachet,
                VFX.BowlPorkRamen = VFX.PorkRamenFlavourSachet,
                VFX.BowlHotAndSpicyRamen = VFX.HotAndSpicyRamenFlavourSachet,
                VFX.BowlSoySauceRamen = VFX.SoySauceRamenFlavourSachet,
            }
        }

    /**** Pasta and Rice Meals ****/

        craftRecipe PreparePacketPasta
        {
            timedAction = VFX.SaucepanCooking,
            time = 50,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 [VFX.PMCheddarBroccoli;VFX.PMParmesan;VFX.PMCreamyChicken;VFX.PMCreamyPesto;VFX.PMAlfredo;VFX.PMMacCheese] mappers[PastaMeal] mode:destroy flags[ItemCount],
                item 1 [Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[InheritCondition;ItemCount],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 15 tags[BakingFat],
                item 1 [*],
                -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:PastaMeal,
            }

            itemMapper PastaMeal
            {
                VFX.PMSaucepanCheddarBroccoli = VFX.PMCheddarBroccoli,
                VFX.PMSaucepanParmesan = VFX.PMParmesan,
                VFX.PMSaucepanCreamyChicken = VFX.PMCreamyChicken,
                VFX.PMSaucepanCreamyPesto = VFX.PMCreamyPesto,
                VFX.PMSaucepanAlfredo = VFX.PMAlfredo,
                VFX.PMSaucepanMacCheese = VFX.PMMacCheese,

                VFX.PMCopperSaucepanCheddarBroccoli = VFX.PMCheddarBroccoli,
                VFX.PMCopperSaucepanParmesan = VFX.PMParmesan,
                VFX.PMCopperSaucepanCreamyChicken = VFX.PMCreamyChicken,
                VFX.PMCopperSaucepanCreamyPesto = VFX.PMCreamyPesto,
                VFX.PMCopperSaucepanAlfredo = VFX.PMAlfredo,
                VFX.PMCopperSaucepanMacCheese = VFX.PMMacCheese,
            }
        }

        craftRecipe PreparePacketRice
        {
            timedAction = VFX.SaucepanCooking,
            time = 50,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 [VFX.RMChicken;VFX.RMMexican;VFX.RMMedley;VFX.RMFried] mappers[RiceMeal] mode:destroy flags[ItemCount],
                item 1 [Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[InheritCondition;ItemCount],
                -fluid 0.6 categories[Water] mode:mixture,
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 5 tags[BakingFat],
            }

            outputs
            {
                item 1 mapper:RiceMeal,
            }

            itemMapper RiceMeal
            {
                VFX.RMSaucepanChicken = VFX.RMChicken,
                VFX.RMSaucepanMexican = VFX.RMMexican,
                VFX.RMSaucepanMedley = VFX.RMMedley,
                VFX.RMSaucepanFried = VFX.RMFried,

                VFX.RMCopperSaucepanChicken = VFX.RMChicken,
                VFX.RMCopperSaucepanMexican = VFX.RMMexican,
                VFX.RMCopperSaucepanMedley = VFX.RMMedley,
                VFX.RMCopperSaucepanFried = VFX.RMFried,
            }
        }

    /**** Pasta and Rice ****/

        craftRecipe PrepareBrownRiceSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[riceType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.BrownRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterSaucepanBrownRice = Base.Saucepan,
                VFX.WaterSaucepanCopperBrownRice = Base.SaucepanCopper,
            }
        }

        craftRecipe PrepareJasmineRiceSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[riceType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.JasmineRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterSaucepanJasmineRice = Base.Saucepan,
                VFX.WaterSaucepanCopperJasmineRice = Base.SaucepanCopper,
            }
        }

        craftRecipe PrepareBasmatiRiceSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[riceType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.BasmatiRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterSaucepanBasmatiRice = Base.Saucepan,
                VFX.WaterSaucepanCopperBasmatiRice = Base.SaucepanCopper,
            }
        }

        craftRecipe PrepareArborioRiceSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[riceType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.ArborioRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterSaucepanArborioRice = Base.Saucepan,
                VFX.WaterSaucepanCopperArborioRice = Base.SaucepanCopper,
            }
        }

        craftRecipe PrepareBrownRicePot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[riceType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.BrownRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterPotBrownRice = Base.Pot,
                VFX.WaterPotForgedBrownRice = Base.PotForged,
            }
        }

        craftRecipe PrepareJasmineRicePot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[riceType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.JasmineRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterPotJasmineRice = Base.Pot,
                VFX.WaterPotForgedBrownRice = Base.PotForged,
            }
        }

        craftRecipe PrepareBasmatiRicePot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[riceType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.BasmatiRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterPotBasmatiRice = Base.Pot,
                VFX.WaterPotForgedBasmatiRice = Base.PotForged,
            }
        }

        craftRecipe PrepareArborioRicePot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[riceType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.ArborioRice],
            }

            outputs
            {
                item 1 mapper:riceType,
            }

            itemMapper riceType
            {
                VFX.WaterPotArborioRice = Base.Pot,
                VFX.WaterPotForgedArborioRice = Base.PotForged,
            }
        }

        craftRecipe PrepareMacaroniSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[pastaType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.Macaroni],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterSaucepanMacaroni = Base.Saucepan,
                VFX.WaterSaucepanCopperMacaroni = Base.SaucepanCopper,
            }
        }

        craftRecipe PrepareFettuccineSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[pastaType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.Fettuccine],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterSaucepanFettuccine = Base.Saucepan,
                VFX.WaterSaucepanCopperFettuccine = Base.SaucepanCopper,
            }
        }

        craftRecipe PreparePenneSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] flags[InheritCondition;ItemCount] mappers[pastaType] mode:destroy,
                -fluid 0.6 categories[Water] mode:mixture,
                item 10 [VFX.Penne],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterSaucepanPenne = Base.Saucepan,
                VFX.WaterSaucepanCopperPenne = Base.SaucepanCopper,
            }
        }

        craftRecipe PrepareMacaroniPot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[pastaType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.Macaroni],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterPotMacaroni = Base.Pot,
                VFX.WaterPotForgedMacaroni = Base.PotForged,
            }
        }

        craftRecipe PrepareFettuccinePot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[pastaType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.Fettuccine],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterPotFettuccine = Base.Pot,
                VFX.WaterPotForgedFettuccine = Base.PotForged,
            }
        }

        craftRecipe PreparePennePot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount] mappers[pastaType],
                -fluid 1.5 categories[Water] mode:mixture,
                item 10 [VFX.Penne],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterPotPenne = Base.Pot,
                VFX.WaterPotForgedPenne = Base.PotForged,
            }
        }

        craftRecipe PrepareFreshPastaSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[InheritCondition;ItemCount],
                -fluid 0.6 categories[Water] mode:mixture,
                item 1 [VFX.Gnocchi;VFX.GroundBeefRavioli;VFX.SpinachRicottaRavioli;VFX.ThreeCheeseRavioli;VFX.PumpkinRavioli;VFX.LobsterRavioli;VFX.ChickenMushroomRavioli;VFX.FourCheeseTortellini;VFX.PepperedPorkTortellini;VFX.SpinachRicottaTortellini;VFX.GroundBeefTortellini] mappers[pastaType] flags[ItemCount],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterSaucepanGnocchi = VFX.Gnocchi,
                VFX.SaucepanGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.SaucepanSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.SaucepanThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.SaucepanPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.SaucepanLobsterRavioli = VFX.LobsterRavioli,
                VFX.SaucepanChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.SaucepanFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.SaucepanPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.SaucepanSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.SaucepanGroundBeefTortellini = VFX.GroundBeefTortellini,

                VFX.WaterSaucepanCopperGnocchi = VFX.Gnocchi,
                VFX.CopperSaucepanGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.CopperSaucepanSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.CopperSaucepanThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.CopperSaucepanPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.CopperSaucepanLobsterRavioli = VFX.LobsterRavioli,
                VFX.CopperSaucepanChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.CopperSaucepanFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.CopperSaucepanPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.CopperSaucepanSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.CopperSaucepanGroundBeefTortellini = VFX.GroundBeefTortellini,
            }
        }

        craftRecipe PrepareFreshPastaPot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount],
                -fluid 1.5 categories[Water] mode:mixture,
                item 1 [VFX.Gnocchi;VFX.GroundBeefRavioli;VFX.SpinachRicottaRavioli;VFX.ThreeCheeseRavioli;VFX.PumpkinRavioli;VFX.LobsterRavioli;VFX.ChickenMushroomRavioli;VFX.FourCheeseTortellini;VFX.PepperedPorkTortellini;VFX.SpinachRicottaTortellini;VFX.GroundBeefTortellini] mappers[pastaType] flags[ItemCount],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterPotGnocchi = VFX.Gnocchi,
                VFX.PotGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.PotSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.PotThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.PotPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.PotLobsterRavioli = VFX.LobsterRavioli,
                VFX.PotChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.PotFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.PotPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.PotSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.PotGroundBeefTortellini = VFX.GroundBeefTortellini,

                VFX.WaterPotForgedGnocchi = VFX.Gnocchi,
                VFX.PotForgedGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.PotForgedSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.PotForgedThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.PotForgedPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.PotForgedLobsterRavioli = VFX.LobsterRavioli,
                VFX.PotForgedChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.PotForgedFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.PotForgedPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.PotForgedSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.PotForgedGroundBeefTortellini = VFX.GroundBeefTortellini,
            }
        }

    /**** Pasta Sauce ****/

        craftRecipe PrepareMarinara
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.EmptyJar] mode:destroy,
                item 1 [Base.JarLid] mode:destroy,
                item 1 [5:Base.Tomato;1:Base.CannedTomato_Open;1:CannedTomatoOpen] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [Base.Onion] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Seasoning_Oregano;Base.Oregano;Base.OreganoDried],
                item 1 [Base.Salt],
                item 5 [Base.OilOlive]
            }

            outputs
            {
                item 1 VFX.HomemadeMarinara,
            }
        }

        craftRecipe PrepareSpicyMarinara
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.EmptyJar] mode:destroy,
                item 1 [Base.JarLid] mode:destroy,
                item 1 [5:Base.Tomato;1:Base.CannedTomato_Open;1:CannedTomatoOpen] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [Base.Onion] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Seasoning_Oregano;Base.Oregano;Base.OreganoDried],
                item 3 [VFX.ChiliFlakes],
                item 3 [VFX.GroundChili],
                item 1 [Base.Salt],
                item 5 [Base.OilOlive],
            }

            outputs
            {
                item 1 VFX.HomemadeSpicyMarinara,
            }
        }

        craftRecipe PrepareMeatSauce
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,
            ToolTip = Tooltip_VFX_Recipe_MeatCooked,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.EmptyJar] mode:destroy,
                item 1 [Base.JarLid] mode:destroy,
                item 1 [Base.MincedMeat;VFX.GroundChicken;VFX.GroundPork;VFX.GroundTurkey] flags[IsCookedFoodItem;ItemCount],
                item 1 [5:Base.Tomato;1:Base.CannedTomato_Open;1:CannedTomatoOpen] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [Base.Onion] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Seasoning_Oregano;Base.Oregano;Base.OreganoDried],
                item 1 [Base.Salt],
                item 5 [Base.OilOlive],
            }

            outputs
            {
                item 1 VFX.HomemadeMeatSauce,
            }
        }

        craftRecipe PrepareBasilPesto
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.EmptyJar] mode:destroy,
                item 1 [Base.JarLid] mode:destroy,
                item 1 [VFX.PineNuts] flags[ItemCount],
                item 1 [VFX.ParmesanCheese] flags[ItemCount],
                item 5 [Base.Basil] flags[ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 5 [Base.OilOlive],
            }

            outputs
            {
                item 1 VFX.HomemadeBasilPestoSauce,
            }
        }

        craftRecipe PrepareAlfredoSauce
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.EmptyJar] mode:destroy,
                item 1 [Base.JarLid] mode:destroy,
                item 1 [VFX.ParmesanCheese] flags[AllowRottenItem;ItemCount],
                item 1 [VFX.HeavyCream] flags[AllowRottenItem;ItemCount],
                item 2 [Base.Pepper],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Butter] flags[ItemCount],
            }

            outputs
            {
                item 1 VFX.HomemadeAlfredoSauce,
            }
        }

        craftRecipe PrepareBechamelSauce
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.EmptyJar] mode:destroy,
                item 1  [Base.JarLid] mode:destroy,
                item 10 [Base.Flour2],
                item 12 [Base.Butter],
                item 2  [Base.Salt],
                item 2  [Base.Pepper],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.HomemadeBechamelSauce,
            }
        }

        craftRecipe OpenHomemadePastaSauce
        {
            timedAction = VFX.JarOpening,
            time = 15,
            tags = InHandCraft;Cooking;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.HomemadeMarinara;VFX.HomemadeSpicyMarinara;VFX.HomemadeMeatSauce;VFX.HomemadeBasilPestoSauce;VFX.HomemadeAlfredoSauce;VFX.HomemadeBechamelSauce] mode:destroy mappers[HomemadePastaSauceType] flags[Prop2],
            }

            outputs
            {
                item 1 mapper:HomemadePastaSauceType,
                item 1 Base.JarLid,
            }

            itemMapper HomemadePastaSauceType
            {
                VFX.HomemadeMarinara_Open = VFX.HomemadeMarinara,
                VFX.HomemadeSpicyMarinara_Open = VFX.HomemadeSpicyMarinara,
                VFX.HomemadeMeatSauce_Open = VFX.HomemadeMeatSauce,
                VFX.HomemadeBasilPestoSauce_Open = VFX.HomemadeBasilPestoSauce,
                VFX.HomemadeAlfredoSauce_Open = VFX.HomemadeAlfredoSauce,
                VFX.HomemadeBechamelSauce_Open = VFX.HomemadeBechamelSauce,
            }
        }

    /**** Cereal ****/

        craftRecipe MakeBowlOfCereal
        {
            timedAction = VFX.PourInBowl,
            Time = 30,
            Tags = InHandCraft;Cooking,
            category = Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 5 [VFX.OatyOs;VFX.HoneyOatyOs;Base.Cereal;VFX.RiceKrisps;VFX.FrostyCrunch;VFX.FruityLoops;VFX.UnluckyCharms;VFX.AdmiralChomp;VFX.CocoaPuffs;VFX.Wheaties] mappers[cerealType] flags[Prop1],
                item 1 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                -fluid 0.3 [CowMilk;SheepMilk],
            }

            outputs
            {
                item 1 mapper:cerealType,
            }

            itemMapper cerealType
            {
                VFX.OatyOsBowl = VFX.OatyOs,
                VFX.HoneyOatyOsBowl = VFX.HoneyOatyOs,
                Base.CerealBowl = Base.Cereal,
                VFX.RiceKrispsBowl = VFX.RiceKrisps,
                VFX.FrostyCrunchBowl = VFX.FrostyCrunch,
                VFX.FruityLoopsBowl = VFX.FruityLoops,
                VFX.UnluckyCharmsBowl = VFX.UnluckyCharms,
                VFX.AdmiralChompBowl = VFX.AdmiralChomp,
                VFX.CocoaPuffsBowl = VFX.CocoaPuffs,
                VFX.WheatiesBowl = VFX.Wheaties,
            }
        }

        craftRecipe MakeBowlOfGranola
        {
            timedAction = VFX.PourInBowl,
            Time = 30,
            Tags = InHandCraft;Cooking,
            category = Cooking,
            xpAward = Cooking:3,
            inputs
            {
                item 5 [VFX.HoneyOatsGranola;VFX.FruitNutGranola;VFX.MaplePecanGranola;VFX.CoconutAlmondGranola;VFX.ChocolateChipGranola] mappers[granolaType] flags[Prop1],
                item 1 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                -fluid 0.3 [CowMilk;SheepMilk],
            }
            outputs
            {
                item 1 mapper:granolaType,
            }
            itemMapper granolaType
            {
                VFX.HoneyOatsGranolaBowl = VFX.HoneyOatsGranola,
                VFX.FruitNutGranolaBowl = VFX.FruitNutGranola,
                VFX.MaplePecanGranolaBowl = VFX.MaplePecanGranola,
                VFX.CoconutAlmondGranolaBowl = VFX.CoconutAlmondGranola,
                VFX.ChocolateChipGranolaBowl = VFX.ChocolateChipGranola,
            }
        }

/* <<<<<  Herbs, Spices and Seasoning  >>>>> */

    craftRecipe TakeBouillonCubeFromBox
    {
        timedAction = VFX.UnpackingSmall,
        Time = 10,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BoxChickenBouillonCube;VFX.BoxBeefBouillonCube;VFX.BoxFishBouillonCube;VFX.BoxVegetableBouillonCube] mappers[BouillonType] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:BouillonType,
        }

        itemMapper BouillonType
        {
            Base.BouillonCube = VFX.BoxChickenBouillonCube,
            VFX.BeefBouillonCube = VFX.BoxBeefBouillonCube,
            VFX.FishBouillonCube = VFX.BoxFishBouillonCube,
            VFX.VegetableBouillonCube = VFX.BoxVegetableBouillonCube,
        }
    }

/* <<<<<  Snacks  >>>>> */

    craftRecipe OpenSnackCakeBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.ZebraCakesBox;VFX.SwissRollsBox;VFX.FudgeRoundsBox;VFX.CoffeeCakesBox;VFX.CosmicBrowniesBox;VFX.OatmealCremePiesBox] mappers[SnackCakeType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 5 mapper:SnackCakeType,
        }
        itemMapper SnackCakeType
        {
            VFX.ZebraCake = VFX.ZebraCakesBox,
            VFX.SwissRoll = VFX.SwissRollsBox,
            VFX.FudgeRound = VFX.FudgeRoundsBox,
            VFX.CoffeeCake = VFX.CoffeeCakesBox,
            VFX.CosmicBrownie = VFX.CosmicBrowniesBox,
            VFX.OatmealCremePie = VFX.OatmealCremePiesBox,
        }
    }

    craftRecipe OpenToasterStrudelBox
    {
        timedAction = VFX.UnpackingSmall,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.StrawberryStrudelsBox;VFX.CherryStrudelsBox;VFX.BlueberryStrudelsBox;VFX.CookiesAndCreamStrudelsBox;VFX.BrownSugarStrudelsBox] mappers[StrudelType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 5 mapper:StrudelType,
        }
        itemMapper StrudelType
        {
            VFX.PackagedStrawberryStrudel = VFX.StrawberryStrudelsBox,
            VFX.PackagedCherryStrudel = VFX.CherryStrudelsBox,
            VFX.PackagedBlueberryStrudel = VFX.BlueberryStrudelsBox,
            VFX.PackagedCookiesAndCreamStrudel = VFX.CookiesAndCreamStrudelsBox,
            VFX.PackagedBrownSugarStrudel = VFX.BrownSugarStrudelsBox,
        }
    }

    craftRecipe OpenPackagedStrudel
    {
        timedAction = VFX.UnpackingSmall,
        Time = 10,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.PackagedStrawberryStrudel;VFX.PackagedCherryStrudel;VFX.PackagedBlueberryStrudel;VFX.PackagedCookiesAndCreamStrudel;VFX.PackagedBrownSugarStrudel] mappers[OpenStrudel] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 1 mapper:OpenStrudel,
        }
        itemMapper OpenStrudel
        {
            VFX.StrawberryToasterStrudel = VFX.PackagedStrawberryStrudel,
            VFX.CherryToasterStrudel = VFX.PackagedCherryStrudel,
            VFX.BlueberryToasterStrudel = VFX.PackagedBlueberryStrudel,
            VFX.CookiesAndCreamToasterStrudel = VFX.PackagedCookiesAndCreamStrudel,
            VFX.BrownSugarToasterStrudel = VFX.PackagedBrownSugarStrudel,
        }
    }

    craftRecipe OpenPuddingBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.ChocolatePuddingBox;VFX.VanillaPuddingBox;VFX.CustardPuddingBox;VFX.StrawberryPuddingBox;VFX.BananaCreamPuddingBox] mappers[PuddingType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 4 mapper:PuddingType,
        }
        itemMapper PuddingType
        {
            VFX.ChocolatePuddingCup = VFX.ChocolatePuddingBox,
            VFX.VanillaPuddingCup = VFX.VanillaPuddingBox,
            VFX.CustardPuddingCup = VFX.CustardPuddingBox,
            VFX.StrawberryPuddingCup = VFX.StrawberryPuddingBox,
            VFX.BananaCreamPuddingCup = VFX.BananaCreamPuddingBox,
        }
    }

    craftRecipe OpenJelloBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.StrawberryJelloBox;VFX.LemonLimeJelloBox;VFX.OrangeJelloBox;VFX.CherryJelloBox;VFX.PineappleJelloBox;VFX.BerryBlueJelloBox;VFX.RaspberryJelloBox;VFX.LimeJelloBox;VFX.PeachJelloBox;VFX.GrapeJelloBox;VFX.LemonJelloBox] mappers[JelloType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 4 mapper:JelloType,
        }
        itemMapper JelloType
        {
            VFX.StrawberryJelloCup = VFX.StrawberryJelloBox,
            VFX.LemonLimeJelloCup = VFX.LemonLimeJelloBox,
            VFX.OrangeJelloCup = VFX.OrangeJelloBox,
            VFX.CherryJelloCup = VFX.CherryJelloBox,
            VFX.PineappleJelloCup = VFX.PineappleJelloBox,
            VFX.BerryBlueJelloCup = VFX.BerryBlueJelloBox,
            VFX.RaspberryJelloCup = VFX.RaspberryJelloBox,
            VFX.LimeJelloCup = VFX.LimeJelloBox,
            VFX.PeachJelloCup = VFX.PeachJelloBox,
            VFX.GrapeJelloCup = VFX.GrapeJelloBox,
            VFX.LemonJelloCup = VFX.LemonJelloBox,
        }
    }

    craftRecipe OpenFruitCupBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.PeachSyrupFruitBox;VFX.PeachJellyFruitBox;VFX.PearSyrupFruitBox;VFX.PearJellyFruitBox;VFX.FruitSaladSyrupFruitBox;VFX.FruitSaladJellyFruitBox;VFX.MandarinSyrupFruitBox;VFX.MandarinJellyFruitBox;VFX.PineappleSyrupFruitBox;VFX.PineappleJellyFruitBox;VFX.TropicalSyrupFruitBox;VFX.TropicalJellyFruitBox] mappers[fruitCupType] flags[Prop2] mode:destroy,
        }

        outputs
        {
            item 4 mapper:fruitCupType,
        }

        itemMapper fruitCupType
        {
            VFX.PeachSyrupFruitCup = VFX.PeachSyrupFruitBox,
            VFX.PeachJellyFruitCup = VFX.PeachJellyFruitBox,

            VFX.PearSyrupFruitCup = VFX.PearSyrupFruitBox,
            VFX.PearJellyFruitCup = VFX.PearJellyFruitBox,

            VFX.FruitSaladSyrupFruitCup = VFX.FruitSaladSyrupFruitBox,
            VFX.FruitSaladJellyFruitCup = VFX.FruitSaladJellyFruitBox,

            VFX.MandarinSyrupFruitCup = VFX.MandarinSyrupFruitBox,
            VFX.MandarinJellyFruitCup = VFX.MandarinJellyFruitBox,

            VFX.PineappleSyrupFruitCup = VFX.PineappleSyrupFruitBox,
            VFX.PineappleJellyFruitCup = VFX.PineappleJellyFruitBox,

            VFX.TropicalSyrupFruitCup = VFX.TropicalSyrupFruitBox,
            VFX.TropicalJellyFruitCup = VFX.TropicalJellyFruitBox,
        }
    }

    craftRecipe OpenGranolaBarBox
    {
        timedAction = VFX.UnpackingSmall,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.AlmondGranolaBarBox;VFX.ChocolateChipGranolaBarBox;VFX.NuttyGranolaBarBox;VFX.OatGranolaBarBox;VFX.PeanutButterGranolaBarBox] mappers[granolaBarType] flags[Prop2] mode:destroy,
        }

        outputs
        {
            item 5 mapper:granolaBarType,
        }

        itemMapper granolaBarType
        {
            VFX.AlmondGranolaBar = VFX.AlmondGranolaBarBox,
            VFX.ChocolateChipGranolaBar = VFX.ChocolateChipGranolaBarBox,
            VFX.NuttyGranolaBar = VFX.NuttyGranolaBarBox,
            VFX.OatGranolaBar = VFX.OatGranolaBarBox,
            Base.GranolaBar = VFX.PeanutButterGranolaBarBox,
        }
    }

/* <<<<<  Baking  >>>>> */

    /**** Cake ****/

        craftRecipe MakeCakeBatter
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [VFX.FrenchVanillaCakeMix;VFX.CarrotCakeMix;VFX.ChocolateCakeMix;VFX.RedVelvetCakeMix;VFX.StrawberryCakeMix;VFX.CaramelCakeMix;VFX.OrangePoppyseedCakeMix;VFX.ConfettiCakeMix;VFX.SpiceCakeMix;VFX.YellowCakeMix] mappers[CakeMixType] flags[ItemCount],
                item 10 tags[BakingFat],
                item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1 [*],
                    -fluid 0.5 [Water],
            }

            outputs
            {
                item 1 mapper:CakeMixType,
            }

            itemMapper CakeMixType
            {
                VFX.FrenchVanillaCakeBatter = VFX.FrenchVanillaCakeMix,
                VFX.CarrotCakeBatter = VFX.CarrotCakeMix,
                VFX.ChocolateCakeBatter = VFX.ChocolateCakeMix,
                VFX.RedVelvetCakeBatter = VFX.RedVelvetCakeMix,
                VFX.StrawberryCakeBatter = VFX.StrawberryCakeMix,
                VFX.CaramelCakeBatter = VFX.CaramelCakeMix,
                VFX.OrangePoppyseedCakeBatter = VFX.OrangePoppyseedCakeMix,
                VFX.ConfettiCakeBatter = VFX.ConfettiCakeMix,
                VFX.SpiceCakeBatter = VFX.SpiceCakeMix,
                VFX.YellowCakeBatter = VFX.YellowCakeMix,
            }
        }

        craftRecipe PutCakeInBakingPan
        {
            timedAction = VFX.PutInBakingPan,
            time = 20,
            category = Cooking,
            Tags = InHandCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.BakingPan],
                item 1 [VFX.FrenchVanillaCakeBatter;VFX.CarrotCakeBatter;VFX.ChocolateCakeBatter;VFX.RedVelvetCakeBatter;VFX.StrawberryCakeBatter;VFX.CaramelCakeBatter;VFX.OrangePoppyseedCakeBatter;VFX.ConfettiCakeBatter;VFX.SpiceCakeBatter;VFX.YellowCakeBatter] mappers[CakeBatterType] flags[InheritFoodAge;Prop1],
            }

            outputs
            {
                item 1 mapper:CakeBatterType,
                item 1 Base.Bowl,
            }

            itemMapper CakeBatterType
            {
                VFX.FrenchVanillaCakePrep = VFX.FrenchVanillaCakeBatter,
                VFX.CarrotCakePrep = VFX.CarrotCakeBatter,
                VFX.ChocolateCakePrep = VFX.ChocolateCakeBatter,
                VFX.RedVelvetCakePrep = VFX.RedVelvetCakeBatter,
                VFX.StrawberryCakePrep = VFX.StrawberryCakeBatter,
                VFX.CaramelCakePrep = VFX.CaramelCakeBatter,
                VFX.OrangePoppyseedCakePrep = VFX.OrangePoppyseedCakeBatter,
                VFX.ConfettiCakePrep = VFX.ConfettiCakeBatter,
                VFX.SpiceCakePrep = VFX.SpiceCakeBatter,
                VFX.YellowCakePrep = VFX.YellowCakeBatter,
            }
        }

        craftRecipe SliceCake
        {
            timedAction = SliceFood_Surface,
            time = 20,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeLight],
                item 1 [VFX.FrenchVanillaCakePrep;VFX.CarrotCakePrep;VFX.ChocolateCakePrep;VFX.RedVelvetCakePrep;VFX.StrawberryCakePrep;VFX.CaramelCakePrep;VFX.OrangePoppyseedCakePrep;VFX.ConfettiCakePrep;VFX.SpiceCakePrep;VFX.YellowCakePrep] mappers[CakeSliceType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 5 mapper:CakeSliceType,
                item 1 Base.BakingPan,
            }

            itemMapper CakeSliceType
            {
                VFX.FrenchVanillaCakeSlice = VFX.FrenchVanillaCakePrep,
                Base.CakeCarrot = VFX.CarrotCakePrep,
                Base.CakeChocolate = VFX.ChocolateCakePrep,
                Base.CakeRedVelvet = VFX.RedVelvetCakePrep,
                Base.CakeStrawberryShortcake = VFX.StrawberryCakePrep,
                VFX.CaramelCakeSlice = VFX.CaramelCakePrep,
                VFX.OrangePoppyseedCakeSlice = VFX.OrangePoppyseedCakePrep,
                VFX.ConfettiCakeSlice = VFX.ConfettiCakePrep,
                VFX.SpiceCakeSlice = VFX.SpiceCakePrep,
                VFX.YellowCakeSlice = VFX.YellowCakePrep,
            }
        }

        craftRecipe PrepareFrenchVanillaCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 2  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.FrenchVanillaCakeBatter,
            }
        }

        craftRecipe PrepareCarrotCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.CheeseGrater] mode:keep,
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 2  [Base.Carrots] flags[ItemCount],
                item 1  [Base.Cinnamon],
                item 1  [VFX.Nutmeg],
                item 1  [VFX.Allspice],
                item 1  [VFX.Cloves],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CarrotCakeBatter,
            }
        }

        craftRecipe PrepareChocolateCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 15 [Base.CocoaPowder],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateCakeBatter,
            }
        }

        craftRecipe PrepareRedVelvetCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 15 [Base.CocoaPowder],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.RedVelvetCakeBatter,
            }
        }

        craftRecipe PrepareStrawberryCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 1 [10:Base.Strewberrie;1:VFX.WholeStrawberries;1:VFX.SlicedStrawberries] flags[AllowFrozenItem;InheritFoodAge;ItemCount],
                item 2 [VFX.VanillaExtract],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.StrawberryCakeBatter,
            }
        }

        craftRecipe PrepareCaramelCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 15 [Base.SugarBrown],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CaramelCakeBatter,
            }
        }

        craftRecipe PrepareOrangePoppyseedCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.CheeseGrater] mode:keep,
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 1  [Base.Orange] flags[ItemCount],
                item 2  [Base.PoppySeed] flags[ItemCount],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.OrangePoppyseedCakeBatter,
            }
        }

        craftRecipe PrepareConfettiCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 2  [VFX.VanillaExtract],
                item 1  [VFX.Sprinkles] flags[ItemCount],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ConfettiCakeBatter,
            }
        }

        craftRecipe PrepareSpiceCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 10 [Base.SugarBrown],
                item 1  [VFX.VanillaExtract],
                item 2  [Base.Cinnamon],
                item 2  [VFX.GroundGinger],
                item 2  [VFX.Nutmeg],
                item 2  [VFX.Cloves],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.SpiceCakeBatter,
            }
        }

        craftRecipe PrepareYellowCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],
                
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.YellowCakeBatter,
            }
        }

    /**** Muffin Mix ****/

        craftRecipe MakeMuffinBatter
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [VFX.AppleCinnamonMuffinMix;VFX.BlueberryMuffinMix;VFX.ChocolateChipMuffinMix;VFX.DoubleChocolateMuffinMix;VFX.CornMuffinMix;VFX.LemonPoppyMuffinMix;VFX.BranMuffinMix] mappers[MuffinBatterType] flags[ItemCount],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1 [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:MuffinBatterType,
            }

            itemMapper MuffinBatterType
            {
                VFX.AppleCinnamonMuffinBatter = VFX.AppleCinnamonMuffinMix,
                VFX.BlueberryMuffinBatter = VFX.BlueberryMuffinMix,
                VFX.ChocolateChipMuffinBatter = VFX.ChocolateChipMuffinMix,
                VFX.DoubleChocolateMuffinBatter = VFX.DoubleChocolateMuffinMix,
                VFX.CornMuffinBatter = VFX.CornMuffinMix,
                VFX.LemonPoppyMuffinBatter = VFX.LemonPoppyMuffinMix,
                VFX.BranMuffinBatter = VFX.BranMuffinMix,
            }
        }

        craftRecipe PrepareMuffinTray
        {
            timedAction = VFX.BowlMixing,
            time = 60,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.MuffinTray],
                item 1 [VFX.AppleCinnamonMuffinBatter;VFX.BlueberryMuffinBatter;VFX.ChocolateChipMuffinBatter;VFX.DoubleChocolateMuffinBatter;VFX.CornMuffinBatter;VFX.LemonPoppyMuffinBatter;VFX.BranMuffinBatter] mappers[MuffinPrepType] flags[InheritFoodAge],
            }

            outputs
            {
                item 1 mapper:MuffinPrepType,
                item 1 Base.Bowl,
            }

            itemMapper MuffinPrepType
            {
                VFX.AppleCinnamonMuffinPrep = VFX.AppleCinnamonMuffinBatter,
                VFX.BlueberryMuffinPrep = VFX.BlueberryMuffinBatter,
                VFX.ChocolateChipMuffinPrep = VFX.ChocolateChipMuffinBatter,
                VFX.DoubleChocolateMuffinPrep = VFX.DoubleChocolateMuffinBatter,
                VFX.CornMuffinPrep = VFX.CornMuffinBatter,
                VFX.LemonPoppyMuffinPrep = VFX.LemonPoppyMuffinBatter,
                VFX.BranMuffinPrep = VFX.BranMuffinBatter,
            }
        }

        craftRecipe GetMuffinsFromTray
        {
            timedAction = VFX.Unpacking,
            time = 60,
            category = Cooking,
            Tags = InHandCraft;Cooking,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 [VFX.AppleCinnamonMuffinPrep;VFX.BlueberryMuffinPrep;VFX.ChocolateChipMuffinPrep;VFX.DoubleChocolateMuffinPrep;VFX.CornMuffinPrep;VFX.LemonPoppyMuffinPrep;VFX.BranMuffinPrep] mappers[MuffinType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount;Prop2],
            }

            outputs
            {
                item 6 mapper:MuffinType,
                item 1 Base.MuffinTray,
            }

            itemMapper MuffinType
            {
                VFX.AppleCinnamonMuffin = VFX.AppleCinnamonMuffinPrep,
                VFX.BlueberryMuffin = VFX.BlueberryMuffinPrep,
                VFX.ChocolateChipMuffin = VFX.ChocolateChipMuffinPrep,
                VFX.DoubleChocolateMuffin = VFX.DoubleChocolateMuffinPrep,
                VFX.CornMuffin = VFX.CornMuffinPrep,
                VFX.LemonPoppyMuffin = VFX.LemonPoppyMuffinPrep,
                VFX.BranMuffin = VFX.BranMuffinPrep,
            }
        }

        craftRecipe PrepareAppleCinnamonMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[BakingFat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 2 [Base.Apple] flags[ItemCount],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.AppleCinnamonMuffinBatter,
            }
        }

        craftRecipe PrepareBlueberryMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[BakingFat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 1 [VFX.PunnetBlueberries;VFX.Blueberries] flags[AllowFrozenItem;InheritFoodAge;ItemCount],
                item 1 [VFX.VanillaExtract],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.BlueberryMuffinBatter,
            }
        }

        craftRecipe PrepareChocolateChipMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[BakingFat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 2 [Base.ChocolateChips] flags[ItemCount],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateChipMuffinBatter,
            }
        }

        craftRecipe PrepareDoubleChocolateMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[BakingFat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 15 [Base.CocoaPowder],
                item 1 [Base.ChocolateChips] flags[ItemCount],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.DoubleChocolateMuffinBatter,
            }
        }

        craftRecipe PrepareCornMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[BakingFat],
                item 5 [Base.Sugar],
                item 5 [Base.Cornflour2],
                item 5 [Base.Cornmeal2],

                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CornMuffinBatter,
            }
        }

        craftRecipe PrepareLemonPoppyMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.CheeseGrater] mode:keep,
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[BakingFat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 1 [Base.Lemon] flags[ItemCount],
                item 1 [Base.PoppySeed] flags[ItemCount],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.LemonPoppyMuffinBatter,
            }
        }

    /**** Brownies ****/

        craftRecipe MakeBrownieBatter
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [VFX.BrownieMix] flags[ItemCount],
                item 15 tags[BakingFat],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 1 VFX.BrownieBatter,
            }
        }

        craftRecipe PrepareBrownieTray
        {
            timedAction = VFX.BowlMixing,
            time = 60,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.BakingTray],
                item 1 [VFX.BrownieBatter] flags[InheritFoodAge],
            }

            outputs
            {
                item 1 VFX.BrowniePrep,
                item 1 Base.Bowl,
            }
        }

        craftRecipe GetBrowniesFromTray
        {
            timedAction = VFX.TakeBrownies,
            time = 60,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 [VFX.BrowniePrep] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeLight],
            }

            outputs
            {
                item 6 VFX.Brownie,
                item 1 Base.BakingTray,
            }
        }

        craftRecipe PrepareBrownies
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 tags[BakingFat],
                item 5  [Base.Sugar],
                item 15 [Base.Flour2],
                item 15 [Base.CocoaPowder],
                item 1  [Base.ChocolateChips] flags[ItemCount],
                item 1  [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.BrownieBatter,
            }
        }

    /**** Cookies ****/

        craftRecipe MakeCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [Base.BakingTray],
                item 1 [VFX.SugarCookieMix;VFX.ShortbreadCookieMix;VFX.PeanutButterCookieMix;VFX.GingerbreadCookieMix;VFX.SnickerdoodleCookieMix;VFX.ChocolateChipCookieMix;VFX.ChocolateCookieMix;VFX.OatmealCookieMix] mappers[CookieDoughType] flags[ItemCount],
                item 15 tags[BakingFat],
                item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 1 mapper:CookieDoughType,
            }

            itemMapper CookieDoughType
            {
                Base.CookieChocolateChipDough = VFX.ChocolateChipCookieMix,
                Base.CookiesChocolateDough = VFX.ChocolateCookieMix,
                Base.CookiesOatmealDough = VFX.OatmealCookieMix,
                Base.CookiesSugarDough = VFX.SugarCookieMix,
                Base.CookiesShortbreadDough = VFX.ShortbreadCookieMix,
                VFX.PeanutButterCookieDough = VFX.PeanutButterCookieMix,
                VFX.GingerbreadCookieDough = VFX.GingerbreadCookieMix,
                VFX.SnickerdoodleCookieDough = VFX.SnickerdoodleCookieMix,
            }
        }

        craftRecipe Get6Cookies
        {
            timedAction = VFX.TakeCookies,
            time = 60,
            category = Cooking,
            Tags = InHandCraft;Cooking,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 [VFX.PeanutButterCookieDough;VFX.GingerbreadCookieDough;VFX.SnickerdoodleCookieDough] mappers[CookieType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 6 mapper:CookieType,
                item 1 Base.BakingTray,
            }

            itemMapper CookieType
            {
                VFX.CookiesPeanutButter = VFX.PeanutButterCookieDough,
                VFX.CookiesGingerbread = VFX.GingerbreadCookieDough,
                VFX.CookiesSnickerdoodle = VFX.SnickerdoodleCookieDough,
            }
        }

        craftRecipe PreparePeanutButterCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[RollingPin] mode:keep flags[MayDegrade],
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.BakingTray],
                item 5  tags[BakingFat],
                item 10 tags[Sugar],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.BakingSoda],
                item 10 tags[Flour],

                item 8  [Base.PeanutButter],
                item 1  [*],
                    -fluid 1.0 [Water],
            }

            outputs
            {
                item 1 VFX.PeanutButterCookieDough,
            }
        }

        craftRecipe PrepareGingerbreadCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item  1 tags[RollingPin] mode:keep flags[MayDegrade],
                item  1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item  1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item  1 [Base.BakingTray],
                item  5 tags[BakingFat],
                item 10 tags[Sugar],
                item  2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item  1 [Base.BakingSoda],
                item 10 tags[Flour],

                item  2 [Base.GingerRoot],
                item  1 [Base.Cinnamon],
                item  1 [VFX.Cloves],
                item  1 [VFX.Nutmeg],
                item  1 [*],
                    -fluid 1.0 [Water],
            }

            outputs
            {
                item 1 VFX.GingerbreadCookieDough,
            }
        }

        craftRecipe PrepareSnickerdoodleCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[RollingPin] mode:keep flags[MayDegrade],
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.BakingTray],
                item 5  tags[BakingFat],
                item 10 tags[Sugar],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.BakingSoda],
                item 10 tags[Flour],
                
                item 2  [Base.Cinnamon],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [Water],
            }

            outputs
            {
                item 1 VFX.SnickerdoodleCookieDough,
            }
        }

    /**** Dessert Bread ****/

        craftRecipe PrepareDessertBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:3,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 10 tags[BakingFat],
                item 1  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [VFX.BananaBreadMix;VFX.PumpkinBreadMix;VFX.ChocolateSwirlBreadMix;VFX.CinnamonSwirlBreadMix;VFX.CranberryBreadMix] mappers[DessertBreadType] flags[ItemCount],
                item 1  [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:DessertBreadType,
            }

            itemMapper DessertBreadType
            {
                VFX.BananaBreadPrep = VFX.BananaBreadMix,
                VFX.PumpkinBreadPrep = VFX.PumpkinBreadMix,
                VFX.ChocolateSwirlBreadPrep = VFX.ChocolateSwirlBreadMix,
                VFX.CinnamonSwirlBreadPrep = VFX.CinnamonSwirlBreadMix,
                VFX.CranberryBreadPrep = VFX.CranberryBreadMix,
            }
        }

        craftRecipe SliceDessertBread
        {
            timedAction = SliceFood_Surface,
            time = 20,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,
            Tooltip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeLight],
                item 1 [VFX.BananaBreadPrep;VFX.PumpkinBreadPrep;VFX.ChocolateSwirlBreadPrep;VFX.CinnamonSwirlBreadPrep;VFX.CranberryBreadPrep] mappers[DessertBreadSliceType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 5 mapper:DessertBreadSliceType,
            }

            itemMapper DessertBreadSliceType
            {
                VFX.BananaBreadSlice = VFX.BananaBreadPrep,
                VFX.PumpkinBreadSlice = VFX.PumpkinBreadPrep,
                VFX.ChocolateSwirlBreadSlice = VFX.ChocolateSwirlBreadPrep,
                VFX.CinnamonSwirlBreadSlice = VFX.CinnamonSwirlBreadPrep,
                VFX.CranberryBreadSlice = VFX.CranberryBreadPrep,
            }
        }

        craftRecipe PrepareBananaBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[Flour],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 2  [Base.Banana] flags[ItemCount],
                item 15 [Base.SugarBrown],
                item 2  [Base.Cinnamon],
            }

            outputs
            {
                item 1 VFX.BananaBreadPrep,
            }
        }

        craftRecipe PreparePumpkinBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[Flour],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 1  [VFX.PumpkinSmashed] flags[ItemCount],
                item 2  [Base.Cinnamon],
                item 2  [VFX.Nutmeg],
                item 2  [VFX.Cloves],
            }

            outputs
            {
                item 1 VFX.PumpkinBreadPrep,
            }
        }

        craftRecipe PrepareChocolateSwirlBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[Flour],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 2  [VFX.VanillaExtract],
                item 15 [VFX.CocoaPowder],
                item 1  [Base.Chocolate;Base.ChocolateChips] flags[ItemCount],

                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateSwirlBreadPrep,
            }
        }

        craftRecipe PrepareCinnamonSwirlBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[Flour],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 2  [VFX.VanillaExtract],
                item 2  [Base.Cinnamon] flags[ItemCount],

                item 1 [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CinnamonSwirlBreadPrep,
            }
        }

        craftRecipe PrepareCranberryBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[Flour],
                item 10 tags[BakingFat],
                item 2  tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 10 [VFX.Cranberries] flags[ItemCount],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CranberryBreadPrep,
            }
        }

    /**** Biscuits ****/

        craftRecipe PrepareBiscuits
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [Base.BakingTray] flags[ItemCount],
                item 1 [VFX.CheddarBiscuitMix;VFX.HomestyleBiscuitMix] mappers[BiscuitTrayType] flags[ItemCount],
                item 1 [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:BiscuitTrayType,
            }

            itemMapper BiscuitTrayType
            {
                VFX.CheddarBiscuitPrep = VFX.CheddarBiscuitMix,
                VFX.HomestyleBiscuitPrep = VFX.HomestyleBiscuitMix,
            }
        }

        craftRecipe Get6Biscuits
        {
            timedAction = VFX.TakeCookies,
            time = 60,
            ToolTip = Tooltip_Recipe_MustCookedGet,
            category = Cooking,
            Tags = InHandCraft;Cooking,

            inputs
            {
                item 1 [VFX.CheddarBiscuitPrep;VFX.HomestyleBiscuitPrep] mappers[BiscuitType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 6 mapper:BiscuitType,
                item 1 Base.BakingTray,
            }

            itemMapper BiscuitType
            {
                VFX.CheddarBiscuit = VFX.CheddarBiscuitPrep,
                VFX.HomestyleBiscuit = VFX.HomestyleBiscuitPrep,
            }
        }

        craftRecipe PrepareCheddarBiscuits
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1  [Base.BakingTray] flags[ItemCount],
                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 1  [Base.BakingSoda],
                item 1  tags[Sugar],
                item 1  [Base.Salt],
                item 12 [Base.Butter],
                item 1  [Base.Cheese] flags[ItemCount],
                item 1  [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CheddarBiscuitPrep,
            }
        }

        craftRecipe PrepareHomestyleBiscuits
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:10,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1  [Base.BakingTray] flags[ItemCount],
                item 15 tags[Flour],
                item 1  [VFX.BakingPowder],
                item 1  [Base.BakingSoda],
                item 1  tags[Sugar],
                item 1  [Base.Salt],
                item 12 [Base.Butter],
                item 1  [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.HomestyleBiscuitPrep,
            }
        }

    /**** Pudding Mix ****/

        craftRecipe PreparePuddingMix
        {
            timedAction = VFX.BowlMixing,
            Time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.Bowl;Base.ClayBowl],
                item 1 [VFX.VanillaPuddingMix;VFX.CustardPuddingMix;VFX.BananaCreamPuddingMix;VFX.ButterscotchPuddingMix;VFX.PistachioPuddingMix;VFX.ChocolateMousseMix] mappers[PuddingType] mode:destroy,
                item 1 [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 2 mapper:PuddingType,
            }

            itemMapper PuddingType
            {
                VFX.BowlVanillaPudding = VFX.VanillaPuddingMix,
                VFX.BowlCustardPudding = VFX.CustardPuddingMix,
                VFX.BowlBananaCreamPudding = VFX.BananaCreamPuddingMix,
                VFX.BowlButterscotchPudding = VFX.ButterscotchPuddingMix,
                VFX.BowlPistachioPudding = VFX.PistachioPuddingMix,
                VFX.BowlChocolateMousse = VFX.ChocolateMousseMix,
            }
        }

    /**** Frosting ****/

        craftRecipe PrepareCaramelFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 5  [Base.SugarBrown],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CaramelFrosting,
            }
        }

        craftRecipe PrepareChocolateFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 10 [Base.Butter],
                item 10 [VFX.CocoaPowder],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateFrosting,
            }
        }

        craftRecipe PrepareLemonFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 12 [VFX.LemonJuice],
                item 15 [VFX.PowderedSugar],
            }

            outputs
            {
                item 1 VFX.LemonFrosting,
            }
        }

        craftRecipe PrepareStrawberryFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Strewberrie] flags[ItemCount],
                item 10 [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.StrawberryFrosting,
            }
        }

        craftRecipe PrepareCreamCheeseFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [VFX.CreamCheese] flags[ItemCount],
                item 10 [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.CreamCheeseFrosting,
            }
        }

        craftRecipe PrepareConfettiFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
                item 1  [VFX.Sprinkles] flags[ItemCount],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ConfettiFrosting,
            }
        }

        craftRecipe PrepareVanillaFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 2  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 Base.Icing,
            }
        }

    /**** Pies ****/

        craftRecipe SliceBakingPie
        {
            time = 40,
            timedAction = SliceFood_Surface,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 tags[SharpKnife] mode:keep flags[MayDegrade],
                item 1 [VFX.WholePieApple;VFX.WholePieCherry;VFX.WholePieBlueberry;VFX.WholePieStrawberry;VFX.WholePiePeach;VFX.WholePieMixedBerry;VFX.WholePieLemonCream;VFX.WholePieBlackberry;VFX.WholePieRaspberry;VFX.WholePiePumpkin;VFX.WholePieSweetPotato;VFX.WholePiePecan] mappers[PieType] flags[InheritCooked;InheritFood;InheritFoodAge;IsCookedFoodItem;ItemCount;Prop2] mode:destroy,
            }

            outputs
            {
                item 5 mapper:PieType,
            }

            itemMapper PieType
            {
                VFX.SlicePieApple = VFX.WholePieApple,
                VFX.SlicePieCherry = VFX.WholePieCherry,
                VFX.SlicePieBlueberry = VFX.WholePieBlueberry,
                VFX.SlicePieStrawberry = VFX.WholePieStrawberry,
                VFX.SlicePiePeach = VFX.WholePiePeach,
                VFX.SlicePieMixedBerry = VFX.WholePieMixedBerry,
                VFX.SlicePieLemonCream = VFX.WholePieLemonCream,
                VFX.SlicePieBlackberry = VFX.WholePieBlackberry,
                VFX.SlicePieRaspberry = VFX.WholePieRaspberry,
                VFX.SlicePiePumpkin = VFX.WholePiePumpkin,
                VFX.SlicePieSweetPotato = VFX.WholePieSweetPotato,
                VFX.SlicePiePecan = VFX.WholePiePecan,
            }
        }

        craftRecipe PreparePieFilling
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:2,
            xpAward = Cooking:5,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],
                item 2 [VFX.CannedApplePieFillingOpen;VFX.CannedCherryPieFillingOpen;VFX.CannedBlueberryPieFillingOpen;VFX.CannedStrawberryPieFillingOpen;VFX.CannedPeachPieFillingOpen;VFX.CannedMixedBerryPieFillingOpen;VFX.CannedLemonCreamPieFillingOpen;VFX.CannedBlackberryPieFillingOpen;VFX.CannedRaspberryPieFillingOpen] mappers[PieType] flags[ItemCount;InheritFoodAge],
            }

            outputs
            {
                item 1 mapper:PieType,
            }

            itemMapper PieType
            {
                VFX.WholePieApple = VFX.CannedApplePieFillingOpen,
                VFX.WholePieCherry = VFX.CannedCherryPieFillingOpen,
                VFX.WholePieBlueberry = VFX.CannedBlueberryPieFillingOpen,
                VFX.WholePieStrawberry = VFX.CannedStrawberryPieFillingOpen,
                VFX.WholePiePeach = VFX.CannedPeachPieFillingOpen,
                VFX.WholePieMixedBerry = VFX.CannedMixedBerryPieFillingOpen,
                VFX.WholePieLemonCream = VFX.CannedLemonCreamPieFillingOpen,
                VFX.WholePieBlackberry = VFX.CannedBlackberryPieFillingOpen,
                VFX.WholePieRaspberry = VFX.CannedRaspberryPieFillingOpen,
            }
        }

        craftRecipe PrepareApplePie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] mode:destroy flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.Apple;2:VFX.CannedAppleSlicesOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
                item 1 [Base.Cinnamon],
            }

            outputs
            {
                item 1 VFX.WholePieApple,
            }
        }

        craftRecipe PrepareCherryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] mode:destroy flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.Cherry;1:VFX.JarCherryOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieCherry,
            }
        }

        craftRecipe PrepareBlueberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.BerryBlue;2:VFX.PunnetBlueberries;2:VFX.Blueberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieBlueberry,
            }
        }

        craftRecipe PrepareStrawberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.Strewberrie;2:VFX.WholeStrawberries;2:VFX.SlicedStrawberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
                item 2 tags[Flour],
            }

            outputs
            {
                item 1 VFX.WholePieStrawberry,
            }
        }

        craftRecipe PreparePeachPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.Peach;1:VFX.JarPeachOpen;2:Base.CannedPeachesOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
            }

            outputs
            {
                item 1 VFX.WholePiePeach,
            }
        }

        craftRecipe PrepareMixedBerryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [3:Base.BerryBlue;1:VFX.PunnetBlueberries;1:VFX.Blueberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 1 [3:Base.Strewberrie;1:VFX.WholeStrawberries;1:VFX.SlicedStrawberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 1 [3:Base.BerryBlack;1:VFX.Blackberries;1:VFX.PunnetBlackberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 1 [VFX.PunnetRaspberries;VFX.Raspberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieMixedBerry,
            }
        }

        craftRecipe PrepareLemonCreamPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.Lemon] flags[ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 5 [Base.Butter],
                item 1 [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.WholePieLemonCream,
            }
        }

        craftRecipe PrepareBlackberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.BerryBlack;2:VFX.Blackberries;2:VFX.PunnetBlackberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieBlackberry,
            }
        }

        craftRecipe PrepareRaspberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [2:VFX.PunnetRaspberries;2:VFX.Raspberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 5 [Base.Butter],
                item 2 tags[Flour],
            }

            outputs
            {
                item 1 VFX.WholePieRaspberry,
            }
        }

        craftRecipe PreparePumpkinPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.PumpkinSliced;2:VFX.CannedPumpkinPureeOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
                item 1 [VFX.GroundGinger],
                item 1 [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.WholePiePumpkin,
            }
        }

        craftRecipe PrepareSweetPotatoPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [2:Base.SweetPotato] flags[ItemCount;InheritFoodAge],
                item 10 tags[Sugar],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 5 [Base.Butter],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
                item 1 [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.WholePieSweetPotato,
            }
        }

        craftRecipe PreparePecanPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = TRUE,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[RollingPin] mode:keep flags[MayDegrade],
                item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [2:VFX.Pecans] flags[ItemCount],
                item 10 tags[Sugar],
                item 2 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 5 [Base.Butter],
                item 2 [Base.Honey],
                item 1 [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.WholePiePecan,
            }
        }

/* <<<<<  Fridge and Freezer  >>>>> */

    craftRecipe SlicePizza
    {
        timedAction = SliceMeat_Surface,
        time = 50,
        category = Cooking,
        Tags = AnySurfaceCraft;Cooking,
        Tooltip = Tooltip_Recipe_MustCookedSlice,

        inputs
        {
            item 1 [VFX.FrozenCheesePizza;VFX.FrozenThreeMeatPizza;VFX.FrozenPepperoniPizza;VFX.FrozenBuffaloChickenPizza;VFX.FrozenSupremePizza] mappers[sliceType] mode:destroy flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            item 1 tags[SharpKnife;MeatCleaver;DullKnife;PizzaCutter] mode:keep flags[MayDegradeLight;SharpnessCheck],
        }

        outputs
        {
            item 6 mapper:sliceType,
        }

        itemMapper sliceType
        {
            VFX.CheesePizzaSlice = VFX.FrozenCheesePizza,
            VFX.ThreeMeatPizzaSlice = VFX.FrozenThreeMeatPizza,
            VFX.PepperoniPizzaSlice = VFX.FrozenPepperoniPizza,
            VFX.BuffaloChickenPizzaSlice = VFX.FrozenBuffaloChickenPizza,
            VFX.SupremePizzaSlice = VFX.FrozenSupremePizza,
        }
    }

    craftRecipe OpenBag
    {
        timedAction = VFX.SmallBagUnpacking,
        time = 20,
        category = Cooking,
        Tags = InHandCraft;Cooking,

        inputs
        {
            item 1 [VFX.BagHashbrowns;VFX.BagWedges;VFX.BagOnionRings;VFX.BagChickenTenders;VFX.BagMozzarellaSticks] mappers[servingResult] flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2],
        }

        outputs
        {
            item 3 mapper:servingResult,
        }

        itemMapper servingResult
        {
            VFX.Hashbrowns = VFX.BagHashbrowns,
            VFX.Wedges = VFX.BagWedges,
            Base.FriedOnionRingsCraft = VFX.BagOnionRings,
            VFX.FrozenChickenTenders = VFX.BagChickenTenders,
            VFX.FrozenMozzarellaSticks = VFX.BagMozzarellaSticks,
        }
    }

    craftRecipe OpenUncrustablesBox
    {
        timedAction = VFX.SmallBagUnpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.PBJUncrustable_Box;VFX.PBFUncrustable_Box;VFX.CSUncrustable_Box;VFX.CHUncrustable_Box] mappers[boxType] mode:destroy flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2],
        }
        outputs
        {
            item 5 mapper:boxType,
        }
        itemMapper boxType
        {
            VFX.PBJUncrustable = VFX.PBJUncrustable_Box,
            VFX.PBFUncrustable = VFX.PBFUncrustable_Box,
            VFX.CSUncrustable = VFX.CSUncrustable_Box,
            VFX.CHUncrustable = VFX.CHUncrustable_Box,
        }
    }

    craftRecipe OpenPizzaRollBox
    {
        timedAction = VFX.SmallBagUnpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.CheesePizzaRoll_Box;VFX.PepperoniPizzaRoll_Box;VFX.SupremePizzaRoll_Box;VFX.MeatLoversPizzaRoll_Box] mode:destroy flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mappers[boxType],
        }
        outputs
        {
            item 4 mapper:boxType,
        }
        itemMapper boxType
        {
            VFX.CheesePizzaRoll = VFX.CheesePizzaRoll_Box,
            VFX.PepperoniPizzaRoll = VFX.PepperoniPizzaRoll_Box,
            VFX.SupremePizzaRoll = VFX.SupremePizzaRoll_Box,
            VFX.MeatLoversPizzaRoll = VFX.MeatLoversPizzaRoll_Box,
        }
    }

    craftRecipe OpenBreakfastSandwichBox
    {
        timedAction = VFX.SmallBagUnpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.SECBreakfastSandwich_Box;VFX.BECBreakfastSandwich_Box;VFX.TECBreakfastSandwich_Box;VFX.ECBreakfastSandwich_Box] mode:destroy flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mappers[boxType],
        }
        outputs
        {
            item 4 mapper:boxType,
        }
        itemMapper boxType
        {
            VFX.SECBreakfastSandwich = VFX.SECBreakfastSandwich_Box,
            VFX.BECBreakfastSandwich = VFX.BECBreakfastSandwich_Box,
            VFX.TECBreakfastSandwich = VFX.TECBreakfastSandwich_Box,
            VFX.ECBreakfastSandwich = VFX.ECBreakfastSandwich_Box,
        }
    }

    craftRecipe ScoopIceCream
    {
        timedAction = VFX.BowlMixing,
        time = 30,
        tags = InHandCraft;Cooking,
        category = Cooking,
        xpAward = Cooking:3,

        inputs
        {
            item 1 tags[Spoon] mode:keep,
            item 1 [Base.Cone] flags[AllowFrozenItem;ItemCount],
            item 10 [VFX.ChocolateIceCream;VFX.ChocolateChipIceCream;VFX.StrawberryIceCream;VFX.NeapolitanIceCream;VFX.ButterPecanIceCream;VFX.MintChocolateChipIceCream;VFX.CookiesAndCreamIceCream;VFX.RockyRoadIceCream;VFX.PistachioIceCream] mappers[IceCreamConeType] flags[AllowFrozenItem;InheritFoodAge],
        }

        outputs
        {
            item 1 mapper:IceCreamConeType,
        }

        itemMapper IceCreamConeType
        {
            VFX.ChocolateIceCreamCone = VFX.ChocolateIceCream,
            VFX.ChocolateChipIceCreamCone = VFX.ChocolateChipIceCream,
            VFX.StrawberryIceCreamCone = VFX.StrawberryIceCream,
            VFX.NeapolitanIceCreamCone = VFX.NeapolitanIceCream,
            VFX.ButterPecanIceCreamCone = VFX.ButterPecanIceCream,
            VFX.MintChocolateChipIceCreamCone = VFX.MintChocolateChipIceCream,
            VFX.CookiesAndCreamIceCreamCone = VFX.CookiesAndCreamIceCream,
            VFX.RockyRoadIceCreamCone = VFX.RockyRoadIceCream,
            VFX.PistachioIceCreamCone = VFX.PistachioIceCream,
        }
    }

    craftRecipe SliceFrozenPie
    {
        time = 40,
        timedAction = SliceFood_Surface,
        tags = AnySurfaceCraft,
        category = Cooking,

        inputs
        {
            item 1 tags[SharpKnife] mode:keep flags[MayDegrade],
            item 1 [VFX.WholeFrozenPieApple;VFX.WholeFrozenPieCherry;VFX.WholeFrozenPieBlueberry;VFX.WholeFrozenPieStrawberry;VFX.WholeFrozenPiePeach;VFX.WholeFrozenPieMixedBerry;VFX.WholeFrozenPieLemonCream;VFX.WholeFrozenPieBlackberry;VFX.WholeFrozenPieRaspberry] mappers[PieType] flags[InheritCooked;InheritFood;InheritFoodAge;IsCookedFoodItem;ItemCount;Prop2] mode:destroy,
        }

        outputs
        {
            item 5 mapper:PieType,
        }

        itemMapper PieType
        {
            VFX.SlicePieApple = VFX.WholeFrozenPieApple,
            VFX.SlicePieCherry = VFX.WholeFrozenPieCherry,
            VFX.SlicePieBlueberry = VFX.WholeFrozenPieBlueberry,
            VFX.SlicePieStrawberry = VFX.WholeFrozenPieStrawberry,
            VFX.SlicePiePeach = VFX.WholeFrozenPiePeach,
            VFX.SlicePieMixedBerry = VFX.WholeFrozenPieMixedBerry,
            VFX.SlicePieLemonCream = VFX.WholeFrozenPieLemonCream,
            VFX.SlicePieBlackberry = VFX.WholeFrozenPieBlackberry,
            VFX.SlicePieRaspberry = VFX.WholeFrozenPieRaspberry,
        }
    }

    craftRecipe OpenPackSausages
    {
        timedAction = VFX.UnpackingSmall,
        time = 20,
        category = Cooking,
        tags = InHandCraft;Cooking,

        inputs
        {
            item 1 [VFX.PorkSausagePack;VFX.BeefSausagePack;VFX.BeefPorkSausagePack;VFX.ChickenSausagePack;VFX.SmokedSausagePack;VFX.SpicySausagePack;VFX.ChorizoPack;VFX.CheeseSausagePack] mappers[Sausage] flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mode:destroy,
        }

        outputs
        {
            item 4 mapper:Sausage,
        }

        itemMapper Sausage
        {
            VFX.PorkSausage = VFX.PorkSausagePack,
            VFX.BeefSausage = VFX.BeefSausagePack,
            VFX.BeefPorkSausage = VFX.BeefPorkSausagePack,
            VFX.ChickenSausage = VFX.ChickenSausagePack,
            VFX.SmokedSausage = VFX.SmokedSausagePack,
            VFX.SpicySausage = VFX.SpicySausagePack,
            VFX.Chorizo = VFX.ChorizoPack,
            VFX.CheeseSausage = VFX.CheeseSausagePack,
        }
    }

    craftRecipe OpenPackMeatballs
    {
        timedAction = VFX.SmallBagUnpacking,
        time = 20,
        tags = InHandCraft;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BeefMeatballsBag;VFX.PorkMeatballsBag;VFX.VealMeatballsBag;VFX.TurkeyMeatballsBag;VFX.ChickenMeatballsBag] mappers[Meatballs] flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mode:destroy,
        }

        outputs
        {
            item 12 mapper:Meatballs,
        }

        itemMapper Meatballs
        {
            VFX.BeefMeatball = VFX.BeefMeatballsBag,
            VFX.PorkMeatball = VFX.PorkMeatballsBag,
            VFX.VealMeatball = VFX.VealMeatballsBag,
            VFX.TurkeyMeatball = VFX.TurkeyMeatballsBag,
            VFX.ChickenMeatball = VFX.ChickenMeatballsBag,
        }
    }

/* <<<<<  Fruit and Vegetables  >>>>> */

    craftRecipe SlicePotato
    {
        timedAction = SliceFood_Surface,
        Time = 50,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 tags[SharpKnife;Saw;CrudeSaw;MeatCleaver] mode:keep flags[SharpnessCheck],
            item 1 [Base.Potato] flags[ItemCount],
        }

        outputs
        {
            item 1 VFX.SlicedPotato,
        }
    }

    craftRecipe PrepareMashedPotato
    {
        timedAction = VFX.BowlMixing,
        Time = 100,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[ItemCount],
            item 2 [Base.Potato] flags[ItemCount;IsCookedFoodItem],
            item 5 [Base.Butter],
            item 1 [*],
                    -fluid 0.2 [CowMilk],
        }

        outputs
        {
            item 1 VFX.MashedPotato,
        }
    }

/* <<<<<  Candy  >>>>> */

    craftRecipe OpenCandyBag
    {
        timedAction = VFX.SmallBagUnpacking,
        time = 30,
        tags = InHandCraft,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BagGummyBears;VFX.BagSourGummyBears;VFX.BagGummyFish;VFX.BagGummyWorms;VFX.BagSourGummyWorms;VFX.BagPeachRings;VFX.BagColaGummies] mappers[CandyType] flags[ItemCount;Prop2],
        }

        outputs
        {
            item 5 mapper:CandyType,
        }
        
        itemMapper CandyType
        {
            Base.GummyBears = VFX.BagGummyBears,
            VFX.GummySourBears = VFX.BagSourGummyBears,
            Base.CandyGummyfish = VFX.BagGummyFish,
            Base.GummyWorms = VFX.BagGummyWorms,
            VFX.GummySourWorms = VFX.BagSourGummyWorms,
            VFX.GummyPeachRings = VFX.BagPeachRings,
            VFX.GummyCola = VFX.BagColaGummies,
        }
    }

/* <<<<<  Craft Base Game Items  >>>>> */

    craftRecipe MakePancakes
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 2 tags[Flour],
            item 1 tags[Sugar],

            item 1 [*],
                -fluid 0.3 [CowMilk],
        }

        outputs
        {
            item 1 Base.Pancakes,
        }
    }

    craftRecipe MakeWaffles
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 2 tags[Flour],
            item 1 tags[Sugar],

            item 1 [*],
                -fluid 0.3 [CowMilk],
        }

        outputs
        {
            item 1 Base.Waffles,
        }
    }

    craftRecipe MakeGravy
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

            item 2 tags[BouillionCube] flags[ItemCount],
            item 2 [Base.Butter],
            item 1 [Base.Flour2],
            item 1 [Base.Salt],
            item 1 [Base.Pepper],

            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 1 Base.Gravy,
        }
    }

    craftRecipe MakeBagels
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:4,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 10 [Base.Flour2],
            item 1 [Base.Yeast],
            item 1 tags[Sugar],
            item 2 [Base.Salt],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],

            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 2 Base.BagelPlain,
        }
    }

    craftRecipe MakePoppyBagels
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:4,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 10 [Base.Flour2],
            item 1 [Base.Yeast],
            item 1 tags[Sugar],
            item 2 [Base.Salt],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 1 [Base.PoppySeed],

            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 2 Base.BagelPoppy,
        }
    }

    craftRecipe MakeSesameBagels
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:4,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 10 [Base.Flour2],
            item 1 [Base.Yeast],
            item 1 tags[Sugar],
            item 2 [Base.Salt],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 1 [VFX.SesameSeeds],

            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 2 Base.BagelSesame,
        }
    }

    craftRecipe MakeCornbread
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:6,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

            item 3 [Base.Cornmeal2],
            item 2 [Base.Flour2],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 1 [Base.Butter],
            item 1 tags[Sugar],
            item 1 [VFX.BakingPowder],
            item 1 [Base.Salt],

            item 1 [*],
            -fluid 0.3 [CowMilk],
        }

        outputs
        {
            item 4 Base.Cornbread,
        }
    }

    craftRecipe MakeCroissants
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:8,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 10 [Base.Flour2],
            item 1 [Base.Yeast],
            item 1 [Base.Butter] flags[ItemCount],
            item 1 tags[Sugar],
            item 1 [Base.Salt],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],

            item 1 [*],
            -fluid 0.3 [CowMilk],
        }

        outputs
        {
            item 2 Base.Croissant,
        }
    }

    craftRecipe MakeTortillas
    {
        timedAction = VFX.BowlMixing,
        time = 50,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:4,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 5 [Base.Flour2],
            item 1 [VFX.BakingPowder],
            item 1 [Base.Salt],
            item 5 tags[BakingFat],

            item 1 [*],
            -fluid 0.2 [Water],
        }

        outputs
        {
            item 4 Base.Tortilla,
        }
    }

    craftRecipe MakeDoughnuts
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:6,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 5 [Base.Flour2],
            item 1 [Base.Yeast],
            item 5 tags[Sugar],
            item 1 [Base.Salt],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 5 tags[BakingFat],
            item 1 [VFX.VanillaExtract],

            item 1 [*],
            -fluid 0.5 [CowMilk],
        }

        outputs
        {
            item 2 Base.DoughnutPlain,
        }
    }

    craftRecipe MakeChocolateDoughnuts
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:6,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 5 [Base.Flour2],
            item 1 [Base.Yeast],
            item 5 tags[Sugar],
            item 1 [Base.Salt],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 5 tags[BakingFat],
            item 1 [VFX.VanillaExtract],
            item 5 [Base.CocoaPowder],

            item 1 [*],
            -fluid 0.5 [CowMilk],
        }

        outputs
        {
            item 2 Base.DoughnutChocolate,
        }
    }

    craftRecipe MakeFrostedDoughnuts
    {
        timedAction = VFX.BowlMixing,
        time = 30,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:6,

        inputs
        {
            item 2 [Base.DoughnutPlain] flags[InheritFoodAge;ItemCount],
            item 5 tags[Frosting],
            item 5 [VFX.Sprinkles],
        }

        outputs
        {
            item 2 Base.DoughnutFrosted
        }
    }

	craftRecipe MakeFriedOysters
	{
		timedAction = VFX.BowlMixing,
		Time = 60,
		Tags = AnySurfaceCraft;Cooking,
		category = Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:6,

		inputs
		{
			item 1 tags[SharpKnife;MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
			item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
			item 2 [Base.Oysters] flags[InheritFoodAge;ItemCount],
			item 2 [Base.BakingSoda],
			item 1 tags[Flour],
		}

		outputs
		{
			item 2 Base.OystersFried,
		}
	}

	craftRecipe MakeFriedFish
	{
		timedAction = VFX.BowlMixing,
		Time = 60,
		Tags = AnySurfaceCraft;Cooking,
		category = Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:4,

		inputs
		{
			item 1 tags[SharpKnife;MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
			item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

			item 1 [Base.FishFillet] flags[InheritFoodAge;ItemCount],
			item 2 [Base.BakingSoda],
			item 1 tags[Flour],
		}

		outputs
		{
			item 1 Base.FishFried,
		}
	}

	craftRecipe MakeFriedTofu
	{
		timedAction = VFX.BowlMixing,
		Time = 60,
		Tags = AnySurfaceCraft;Cooking,
		category = Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:6,

		inputs
		{
			item 1 tags[SharpKnife;MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
			item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            
			item 1 [Base.Tofu] flags[InheritFoodAge;ItemCount],
			item 2 [Base.BakingSoda],
			item 1 tags[Flour],
		}

		outputs
		{
			item 1 Base.TofuFried,
		}
	}

    craftRecipe MakeMeatDumplings
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:8,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 4 [Base.Flour2],
            item 1 [Base.Salt],

            item 10 tags[GroundMeat],
            item 1 [Base.Soysauce],
            item 1 [Base.Garlic;Base.WildGarlic2;VFX.JarGarlicOpen],
            item 1 [Base.GreenOnions],
            item 1 [Base.SesameOil],

            item 1 [*],
            -fluid 0.2 [Water],
        }

        outputs
        {
            item 2 Base.MeatDumpling,
        }
    }

    craftRecipe MakeShrimpDumplings
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:8,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1 [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],

            item 4 [Base.Flour2],
            item 1 [Base.Salt],

            item 4 [Base.Shrimp],
            item 1 [Base.Soysauce],
            item 1 [Base.Garlic;Base.WildGarlic2;VFX.JarGarlicOpen],
            item 1 [Base.GreenOnions],
            item 1 [Base.SesameOil],

            item 1 [*],
            -fluid 0.2 [Water],
        }

        outputs
        {
            item 2 Base.ShrimpDumpling,
        }
    }

    craftRecipe MakePotatoPancakes
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:5,
        needToBeLearn = TRUE,
        AutoLearnAny = Cooking:4,

        inputs
        {
            item 1 tags[MixingUtensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],
            item 1  [Base.CheeseGrater] mode:keep,

            item 2 [Base.Potato],
            item 1 tags[Egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 1 [Base.Flour2],
            item 1 [Base.Salt],
            item 1 [Base.Pepper],
        }

        outputs
        {
            item 2 Base.PotatoPancakes,
        }
    }

/* <<<<<  Bowls and Plates  >>>>> */

        craftRecipe Make2Bowls
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            OnCreate = RecipeCodeOnCreate.inheritFoodNameBowl,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 2 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                item 1 [VFX.WaterSaucepanBrownRice;VFX.WaterSaucepanJasmineRice;VFX.WaterSaucepanBasmatiRice;VFX.WaterSaucepanArborioRice;VFX.WaterSaucepanMacaroni;VFX.WaterSaucepanFettuccine;VFX.WaterSaucepanPenne;VFX.WaterSaucepanGnocchi;VFX.WaterSaucepanCopperBrownRice;VFX.WaterSaucepanCopperJasmineRice;VFX.WaterSaucepanCopperBasmatiRice;VFX.WaterSaucepanCopperArborioRice;VFX.WaterSaucepanCopperMacaroni;VFX.WaterSaucepanCopperFettuccine;VFX.WaterSaucepanCopperPenne;VFX.WaterSaucepanCopperGnocchi;VFX.WaterPotBrownRice;VFX.WaterPotJasmineRice;VFX.WaterPotBasmatiRice;VFX.WaterPotArborioRice;VFX.WaterPotMacaroni;VFX.WaterPotFettuccine;VFX.WaterPotPenne;VFX.WaterPotGnocchi;VFX.WaterPotForgedBrownRice;VFX.WaterPotForgedJasmineRice;VFX.WaterPotForgedBasmatiRice;VFX.WaterPotForgedArborioRice;VFX.WaterPotForgedMacaroni;VFX.WaterPotForgedFettuccine;VFX.WaterPotForgedPenne;VFX.WaterPotForgedGnocchi;Base.VFXBrownRiceSaucepanEvolved;Base.VFXJasmineRiceSaucepanEvolved;Base.VFXBasmatiRiceSaucepanEvolved;Base.VFXArborioRiceSaucepanEvolved;Base.VFXMacaroniSaucepanEvolved;Base.VFXFettuccineSaucepanEvolved;Base.VFXPenneSaucepanEvolved;Base.VFXGnocchiSaucepanEvolved;Base.VFXBrownRiceSaucepanCopperEvolved;Base.VFXJasmineRiceSaucepanCopperEvolved;Base.VFXBasmatiRiceSaucepanCopperEvolved;Base.VFXArborioRiceSaucepanCopperEvolved;Base.VFXMacaroniSaucepanCopperEvolved;Base.VFXFettuccineSaucepanCopperEvolved;Base.VFXPenneSaucepanCopperEvolved;Base.VFXGnocchiSaucepanCopperEvolved;Base.VFXBrownRicePotEvolved;Base.VFXJasmineRicePotEvolved;Base.VFXBasmatiRicePotEvolved;Base.VFXArborioRicePotEvolved;Base.VFXMacaroniPotEvolved;Base.VFXFettuccinePotEvolved;Base.VFXPennePotEvolved;Base.VFXGnocchiPotEvolved;Base.VFXBrownRicePotForgedEvolved;Base.VFXJasmineRicePotForgedEvolved;Base.VFXBasmatiRicePotForgedEvolved;Base.VFXArborioRicePotForgedEvolved;Base.VFXMacaroniPotForgedEvolved;Base.VFXFettuccinePotForgedEvolved;Base.VFXPennePotForgedEvolved;Base.VFXGnocchiPotForgedEvolved;VFX.SaucepanGroundBeefRavioli;VFX.CopperSaucepanGroundBeefRavioli;VFX.PotGroundBeefRavioli;VFX.PotForgedGroundBeefRavioli;VFX.SaucepanSpinachRicottaRavioli;VFX.CopperSaucepanSpinachRicottaRavioli;VFX.PotSpinachRicottaRavioli;VFX.PotForgedSpinachRicottaRavioli;VFX.SaucepanThreeCheeseRavioli;VFX.CopperSaucepanThreeCheeseRavioli;VFX.PotThreeCheeseRavioli;VFX.PotForgedThreeCheeseRavioli;VFX.SaucepanPumpkinRavioli;VFX.CopperSaucepanPumpkinRavioli;VFX.PotPumpkinRavioli;VFX.PotForgedPumpkinRavioli;VFX.SaucepanLobsterRavioli;VFX.CopperSaucepanLobsterRavioli;VFX.PotLobsterRavioli;VFX.PotForgedLobsterRavioli;VFX.SaucepanChickenMushroomRavioli;VFX.CopperSaucepanChickenMushroomRavioli;VFX.PotChickenMushroomRavioli;VFX.PotForgedChickenMushroomRavioli;VFX.SaucepanFourCheeseTortellini;VFX.CopperSaucepanFourCheeseTortellini;VFX.PotFourCheeseTortellini;VFX.PotForgedFourCheeseTortellini;VFX.SaucepanPepperedPorkTortellini;VFX.CopperSaucepanPepperedPorkTortellini;VFX.PotPepperedPorkTortellini;VFX.PotForgedPepperedPorkTortellini;VFX.SaucepanSpinachRicottaTortellini;VFX.CopperSaucepanSpinachRicottaTortellini;VFX.PotSpinachRicottaTortellini;VFX.PotForgedSpinachRicottaTortellini;VFX.SaucepanGroundBeefTortellini;VFX.CopperSaucepanGroundBeefTortellini;VFX.PotGroundBeefTortellini;VFX.PotForgedGroundBeefTortellini;VFX.PMSaucepanCheddarBroccoli;VFX.PMSaucepanParmesan;VFX.PMSaucepanCreamyChicken;VFX.PMSaucepanCreamyPesto;VFX.PMSaucepanAlfredo;VFX.PMSaucepanMacCheese;VFX.PMCopperSaucepanCheddarBroccoli;VFX.PMCopperSaucepanParmesan;VFX.PMCopperSaucepanCreamyChicken;VFX.PMCopperSaucepanCreamyPesto;VFX.PMCopperSaucepanAlfredo;VFX.PMCopperSaucepanMacCheese;VFX.RMSaucepanChicken;VFX.RMSaucepanMexican;VFX.RMSaucepanMedley;VFX.RMSaucepanFried;VFX.RMCopperSaucepanChicken;VFX.RMCopperSaucepanMexican;VFX.RMCopperSaucepanMedley;VFX.RMCopperSaucepanFried;VFX.PotButterChicken;VFX.PotThaiGreenCurry;VFX.PotMassamanCurry;VFX.PotChanaMasala;VFX.PotSweetPotatoChickpeaCurry;VFX.PotTofuCurry;VFXFriedRicePreparation;VFXFriedRiceEvolved;Base.VFXChiliSaucepanEvolved;Base.VFXChiliSaucepanCopperEvolved;Base.VFXChiliPotEvolved;Base.VFXChiliPotForgedEvolved;Base.VFXCurrySaucepanEvolved;Base.VFXCurrySaucepanCopperEvolved;Base.VFXCurryPotEvolved;Base.VFXCurryPotForgedEvolved] mappers[bowlType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 2 mapper:bowlType,
                item 1 mapper:potType,
            }

            itemMapper bowlType
            {
                VFX.ArborioRiceBowl = VFX.WaterSaucepanArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterSaucepanCopperArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotForgedArborioRice,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanCopperEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotForgedEvolved,

                VFX.BasmatiRiceBowl = VFX.WaterSaucepanBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterSaucepanCopperBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotForgedBasmatiRice,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotForgedEvolved,

                VFX.BrownRiceBowl = VFX.WaterSaucepanBrownRice,
                VFX.BrownRiceBowl = VFX.WaterSaucepanCopperBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotForgedBrownRice,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanCopperEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotForgedEvolved,

                VFX.FettuccineBowl = VFX.WaterSaucepanFettuccine,
                VFX.FettuccineBowl = VFX.WaterSaucepanCopperFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotForgedFettuccine,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanCopperEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotForgedEvolved,

                VFX.GnocchiBowl = VFX.WaterSaucepanGnocchi,
                VFX.GnocchiBowl = VFX.WaterSaucepanCopperGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotForgedGnocchi,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanCopperEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotForgedEvolved,

                VFX.JasmineRiceBowl = VFX.WaterSaucepanJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterSaucepanCopperJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotForgedJasmineRice,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanCopperEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotForgedEvolved,

                VFX.MacaroniBowl = VFX.WaterSaucepanMacaroni,
                VFX.MacaroniBowl = VFX.WaterSaucepanCopperMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotForgedMacaroni,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanCopperEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotForgedEvolved,

                VFX.PenneBowl = VFX.WaterSaucepanPenne,
                VFX.PenneBowl = VFX.WaterSaucepanCopperPenne,
                VFX.PenneBowl = VFX.WaterPotPenne,
                VFX.PenneBowl = VFX.WaterPotForgedPenne,
                VFX.PenneBowl = Base.VFXPenneSaucepanEvolved,
                VFX.PenneBowl = Base.VFXPenneSaucepanCopperEvolved,
                VFX.PenneBowl = Base.VFXPennePotEvolved,
                VFX.PenneBowl = Base.VFXPennePotForgedEvolved,

                VFX.BowlGroundBeefRavioli = VFX.SaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.CopperSaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotForgedGroundBeefRavioli,

                VFX.BowlSpinachRicottaRavioli = VFX.SaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.CopperSaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotForgedSpinachRicottaRavioli,

                VFX.BowlThreeCheeseRavioli = VFX.SaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.CopperSaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotForgedThreeCheeseRavioli,

                VFX.BowlPumpkinRavioli = VFX.SaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.CopperSaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotForgedPumpkinRavioli,

                VFX.BowlLobsterRavioli = VFX.SaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.CopperSaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotForgedLobsterRavioli,

                VFX.BowlChickenMushroomRavioli = VFX.SaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.CopperSaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotForgedChickenMushroomRavioli,

                VFX.BowlFourCheeseTortellini = VFX.SaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.CopperSaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotForgedFourCheeseTortellini,

                VFX.BowlPepperedPorkTortellini = VFX.SaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.CopperSaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotForgedPepperedPorkTortellini,

                VFX.BowlSpinachRicottaTortellini = VFX.SaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.CopperSaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotForgedSpinachRicottaTortellini,

                VFX.BowlGroundBeefTortellini = VFX.SaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.CopperSaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotForgedGroundBeefTortellini,

                VFX.PMBowlAlfredo = VFX.PMSaucepanAlfredo,
                VFX.PMBowlAlfredo = VFX.PMCopperSaucepanAlfredo,
                VFX.PMBowlCheddarBroccoli = VFX.PMSaucepanCheddarBroccoli,
                VFX.PMBowlCheddarBroccoli = VFX.PMCopperSaucepanCheddarBroccoli,
                VFX.PMBowlCreamyChicken = VFX.PMSaucepanCreamyChicken,
                VFX.PMBowlCreamyChicken = VFX.PMCopperSaucepanCreamyChicken,
                VFX.PMBowlCreamyPesto = VFX.PMSaucepanCreamyPesto,
                VFX.PMBowlCreamyPesto = VFX.PMCopperSaucepanCreamyPesto,
                VFX.PMBowlMacCheese = VFX.PMSaucepanMacCheese,
                VFX.PMBowlMacCheese = VFX.PMCopperSaucepanMacCheese,
                VFX.PMBowlParmesan = VFX.PMSaucepanParmesan,
                VFX.PMBowlParmesan = VFX.PMCopperSaucepanParmesan,

                VFX.RMBowlChicken = VFX.RMSaucepanChicken,
                VFX.RMBowlChicken = VFX.RMCopperSaucepanChicken,
                VFX.RMBowlFried = VFX.RMSaucepanFried,
                VFX.RMBowlFried = VFX.RMCopperSaucepanFried,
                VFX.RMBowlMedley = VFX.RMSaucepanMedley,
                VFX.RMBowlMedley = VFX.RMCopperSaucepanMedley,
                VFX.RMBowlMexican = VFX.RMSaucepanMexican,
                VFX.RMBowlMexican = VFX.RMCopperSaucepanMexican,

                VFX.BowlButterChicken = VFX.PotButterChicken,
                VFX.BowlThaiGreenCurry = VFX.PotThaiGreenCurry,
                VFX.BowlMassamanCurry = VFX.PotMassamanCurry,
                VFX.BowlChanaMasala = VFX.PotChanaMasala,
                VFX.BowlSweetPotatoChickpeaCurry = VFX.PotSweetPotatoChickpeaCurry,
                VFX.BowlTofuCurry = VFX.PotTofuCurry,

                Base.VFXBowlFriedRice = Base.VFXFriedRicePreparation,
                Base.VFXBowlFriedRice = Base.VFXFriedRiceEvolved,

                Base.VFXBowlChili = Base.VFXChiliSaucepanEvolved,
                Base.VFXBowlChili = Base.VFXChiliSaucepanCopperEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotForgedEvolved,

                Base.VFXBowlCurry = Base.VFXCurrySaucepanEvolved,
                Base.VFXBowlCurry = Base.VFXCurrySaucepanCopperEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotForgedEvolved,
            }

            itemMapper potType
            {
                Base.Saucepan = VFX.WaterSaucepanBrownRice,
                Base.Saucepan = VFX.WaterSaucepanJasmineRice,
                Base.Saucepan = VFX.WaterSaucepanBasmatiRice,
                Base.Saucepan = VFX.WaterSaucepanArborioRice,
                Base.Saucepan = VFX.WaterSaucepanMacaroni,
                Base.Saucepan = VFX.WaterSaucepanFettuccine,
                Base.Saucepan = VFX.WaterSaucepanPenne,
                Base.Saucepan = VFX.WaterSaucepanGnocchi,

                Base.Saucepan = Base.VFXBrownRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXJasmineRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXBasmatiRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXArborioRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXMacaroniSaucepanEvolved,
                Base.Saucepan = Base.VFXFettuccineSaucepanEvolved,
                Base.Saucepan = Base.VFXPenneSaucepanEvolved,
                Base.Saucepan = Base.VFXGnocchiSaucepanEvolved,

                Base.Saucepan = VFX.SaucepanGroundBeefRavioli,
                Base.Saucepan = VFX.SaucepanSpinachRicottaRavioli,
                Base.Saucepan = VFX.SaucepanThreeCheeseRavioli,
                Base.Saucepan = VFX.SaucepanPumpkinRavioli,
                Base.Saucepan = VFX.SaucepanLobsterRavioli,
                Base.Saucepan = VFX.SaucepanChickenMushroomRavioli,
                Base.Saucepan = VFX.SaucepanFourCheeseTortellini,
                Base.Saucepan = VFX.SaucepanPepperedPorkTortellini,
                Base.Saucepan = VFX.SaucepanSpinachRicottaTortellini,
                Base.Saucepan = VFX.SaucepanGroundBeefTortellini,

                Base.Saucepan = VFX.PMSaucepanCheddarBroccoli,
                Base.Saucepan = VFX.PMSaucepanParmesan,
                Base.Saucepan = VFX.PMSaucepanCreamyChicken,
                Base.Saucepan = VFX.PMSaucepanCreamyPesto,
                Base.Saucepan = VFX.PMSaucepanAlfredo,
                Base.Saucepan = VFX.PMSaucepanMacCheese,
                Base.Saucepan = VFX.RMSaucepanChicken,
                Base.Saucepan = VFX.RMSaucepanMexican,
                Base.Saucepan = VFX.RMSaucepanMedley,
                Base.Saucepan = VFX.RMSaucepanFried,

                Base.Saucepan = Base.VFXChiliSaucepanEvolved,
                Base.Saucepan = Base.VFXCurrySaucepanEvolved,

                Base.SaucepanCopper = VFX.WaterSaucepanCopperBrownRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperJasmineRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperBasmatiRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperArborioRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperMacaroni,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperFettuccine,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperPenne,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperGnocchi,

                Base.SaucepanCopper = Base.VFXBrownRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXJasmineRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXArborioRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXMacaroniSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXFettuccineSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXPenneSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXGnocchiSaucepanCopperEvolved,

                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanThreeCheeseRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanPumpkinRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanLobsterRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanChickenMushroomRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanFourCheeseTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanPepperedPorkTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefTortellini,

                Base.SaucepanCopper = VFX.PMCopperSaucepanCheddarBroccoli,
                Base.SaucepanCopper = VFX.PMCopperSaucepanParmesan,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyChicken,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyPesto,
                Base.SaucepanCopper = VFX.PMCopperSaucepanAlfredo,
                Base.SaucepanCopper = VFX.PMCopperSaucepanMacCheese,
                Base.SaucepanCopper = VFX.RMCopperSaucepanChicken,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMexican,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMedley,
                Base.SaucepanCopper = VFX.RMCopperSaucepanFried,

                Base.SaucepanCopper = Base.VFXChiliSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXCurrySaucepanCopperEvolved,

                Base.Pot = VFX.WaterPotBrownRice,
                Base.Pot = VFX.WaterPotJasmineRice,
                Base.Pot = VFX.WaterPotBasmatiRice,
                Base.Pot = VFX.WaterPotArborioRice,
                Base.Pot = VFX.WaterPotMacaroni,
                Base.Pot = VFX.WaterPotFettuccine,
                Base.Pot = VFX.WaterPotPenne,
                Base.Pot = VFX.WaterPotGnocchi,

                Base.Pot = Base.VFXBrownRicePotEvolved,
                Base.Pot = Base.VFXJasmineRicePotEvolved,
                Base.Pot = Base.VFXBasmatiRicePotEvolved,
                Base.Pot = Base.VFXArborioRicePotEvolved,
                Base.Pot = Base.VFXMacaroniPotEvolved,
                Base.Pot = Base.VFXFettuccinePotEvolved,
                Base.Pot = Base.VFXPennePotEvolved,
                Base.Pot = Base.VFXGnocchiPotEvolved,

                Base.Pot = VFX.PotGroundBeefRavioli,
                Base.Pot = VFX.PotSpinachRicottaRavioli,
                Base.Pot = VFX.PotThreeCheeseRavioli,
                Base.Pot = VFX.PotPumpkinRavioli,
                Base.Pot = VFX.PotLobsterRavioli,
                Base.Pot = VFX.PotChickenMushroomRavioli,
                Base.Pot = VFX.PotFourCheeseTortellini,
                Base.Pot = VFX.PotPepperedPorkTortellini,
                Base.Pot = VFX.PotSpinachRicottaTortellini,
                Base.Pot = VFX.PotGroundBeefTortellini,

                Base.Pot = VFX.PotButterChicken,
                Base.Pot = VFX.PotThaiGreenCurry,
                Base.Pot = VFX.PotMassamanCurry,
                Base.Pot = VFX.PotChanaMasala,
                Base.Pot = VFX.PotSweetPotatoChickpeaCurry,
                Base.Pot = VFX.PotTofuCurry,

                Base.Pot = Base.VFXChiliPotEvolved,
                Base.Pot = Base.VFXCurryPotEvolved,

                Base.PotForged = VFX.WaterPotForgedBrownRice,
                Base.PotForged = VFX.WaterPotForgedJasmineRice,
                Base.PotForged = VFX.WaterPotForgedBasmatiRice,
                Base.PotForged = VFX.WaterPotForgedArborioRice,
                Base.PotForged = VFX.WaterPotForgedMacaroni,
                Base.PotForged = VFX.WaterPotForgedFettuccine,
                Base.PotForged = VFX.WaterPotForgedPenne,
                Base.PotForged = VFX.WaterPotForgedGnocchi,

                Base.PotForged = Base.VFXBrownRicePotForgedEvolved,
                Base.PotForged = Base.VFXJasmineRicePotForgedEvolved,
                Base.PotForged = Base.VFXBasmatiRicePotForgedEvolved,
                Base.PotForged = Base.VFXArborioRicePotForgedEvolved,
                Base.PotForged = Base.VFXMacaroniPotForgedEvolved,
                Base.PotForged = Base.VFXFettuccinePotForgedEvolved,
                Base.PotForged = Base.VFXPennePotForgedEvolved,
                Base.PotForged = Base.VFXGnocchiPotForgedEvolved,

                Base.PotForged = VFX.PotForgedGroundBeefRavioli,
                Base.PotForged = VFX.PotForgedSpinachRicottaRavioli,
                Base.PotForged = VFX.PotForgedThreeCheeseRavioli,
                Base.PotForged = VFX.PotForgedPumpkinRavioli,
                Base.PotForged = VFX.PotForgedLobsterRavioli,
                Base.PotForged = VFX.PotForgedChickenMushroomRavioli,
                Base.PotForged = VFX.PotForgedFourCheeseTortellini,
                Base.PotForged = VFX.PotForgedPepperedPorkTortellini,
                Base.PotForged = VFX.PotForgedSpinachRicottaTortellini,
                Base.PotForged = VFX.PotForgedGroundBeefTortellini,

                Base.PotForged = Base.VFXChiliPotForgedEvolved,
                Base.PotForged = Base.VFXCurryPotForgedEvolved,

                Base.Pan = Base.VFXFriedRicePreparation,
                Base.Pan = VFXFriedRiceEvolved,

                Base.PanForged = VFXFriedRicePreparationForged,
                Base.PanForged = VFXFriedRiceEvolvedForged,
            }
        }

        craftRecipe Make4Bowls
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            OnCreate = RecipeCodeOnCreate.inheritFoodNameBowl,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 4 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                item 1 [VFX.WaterSaucepanBrownRice;VFX.WaterSaucepanJasmineRice;VFX.WaterSaucepanBasmatiRice;VFX.WaterSaucepanArborioRice;VFX.WaterSaucepanMacaroni;VFX.WaterSaucepanFettuccine;VFX.WaterSaucepanPenne;VFX.WaterSaucepanGnocchi;VFX.WaterSaucepanCopperBrownRice;VFX.WaterSaucepanCopperJasmineRice;VFX.WaterSaucepanCopperBasmatiRice;VFX.WaterSaucepanCopperArborioRice;VFX.WaterSaucepanCopperMacaroni;VFX.WaterSaucepanCopperFettuccine;VFX.WaterSaucepanCopperPenne;VFX.WaterSaucepanCopperGnocchi;VFX.WaterPotBrownRice;VFX.WaterPotJasmineRice;VFX.WaterPotBasmatiRice;VFX.WaterPotArborioRice;VFX.WaterPotMacaroni;VFX.WaterPotFettuccine;VFX.WaterPotPenne;VFX.WaterPotGnocchi;VFX.WaterPotForgedBrownRice;VFX.WaterPotForgedJasmineRice;VFX.WaterPotForgedBasmatiRice;VFX.WaterPotForgedArborioRice;VFX.WaterPotForgedMacaroni;VFX.WaterPotForgedFettuccine;VFX.WaterPotForgedPenne;VFX.WaterPotForgedGnocchi;Base.VFXBrownRiceSaucepanEvolved;Base.VFXJasmineRiceSaucepanEvolved;Base.VFXBasmatiRiceSaucepanEvolved;Base.VFXArborioRiceSaucepanEvolved;Base.VFXMacaroniSaucepanEvolved;Base.VFXFettuccineSaucepanEvolved;Base.VFXPenneSaucepanEvolved;Base.VFXGnocchiSaucepanEvolved;Base.VFXBrownRiceSaucepanCopperEvolved;Base.VFXJasmineRiceSaucepanCopperEvolved;Base.VFXBasmatiRiceSaucepanCopperEvolved;Base.VFXArborioRiceSaucepanCopperEvolved;Base.VFXMacaroniSaucepanCopperEvolved;Base.VFXFettuccineSaucepanCopperEvolved;Base.VFXPenneSaucepanCopperEvolved;Base.VFXGnocchiSaucepanCopperEvolved;Base.VFXBrownRicePotEvolved;Base.VFXJasmineRicePotEvolved;Base.VFXBasmatiRicePotEvolved;Base.VFXArborioRicePotEvolved;Base.VFXMacaroniPotEvolved;Base.VFXFettuccinePotEvolved;Base.VFXPennePotEvolved;Base.VFXGnocchiPotEvolved;Base.VFXBrownRicePotForgedEvolved;Base.VFXJasmineRicePotForgedEvolved;Base.VFXBasmatiRicePotForgedEvolved;Base.VFXArborioRicePotForgedEvolved;Base.VFXMacaroniPotForgedEvolved;Base.VFXFettuccinePotForgedEvolved;Base.VFXPennePotForgedEvolved;Base.VFXGnocchiPotForgedEvolved;VFX.SaucepanGroundBeefRavioli;VFX.CopperSaucepanGroundBeefRavioli;VFX.PotGroundBeefRavioli;VFX.PotForgedGroundBeefRavioli;VFX.SaucepanSpinachRicottaRavioli;VFX.CopperSaucepanSpinachRicottaRavioli;VFX.PotSpinachRicottaRavioli;VFX.PotForgedSpinachRicottaRavioli;VFX.SaucepanThreeCheeseRavioli;VFX.CopperSaucepanThreeCheeseRavioli;VFX.PotThreeCheeseRavioli;VFX.PotForgedThreeCheeseRavioli;VFX.SaucepanPumpkinRavioli;VFX.CopperSaucepanPumpkinRavioli;VFX.PotPumpkinRavioli;VFX.PotForgedPumpkinRavioli;VFX.SaucepanLobsterRavioli;VFX.CopperSaucepanLobsterRavioli;VFX.PotLobsterRavioli;VFX.PotForgedLobsterRavioli;VFX.SaucepanChickenMushroomRavioli;VFX.CopperSaucepanChickenMushroomRavioli;VFX.PotChickenMushroomRavioli;VFX.PotForgedChickenMushroomRavioli;VFX.SaucepanFourCheeseTortellini;VFX.CopperSaucepanFourCheeseTortellini;VFX.PotFourCheeseTortellini;VFX.PotForgedFourCheeseTortellini;VFX.SaucepanPepperedPorkTortellini;VFX.CopperSaucepanPepperedPorkTortellini;VFX.PotPepperedPorkTortellini;VFX.PotForgedPepperedPorkTortellini;VFX.SaucepanSpinachRicottaTortellini;VFX.CopperSaucepanSpinachRicottaTortellini;VFX.PotSpinachRicottaTortellini;VFX.PotForgedSpinachRicottaTortellini;VFX.SaucepanGroundBeefTortellini;VFX.CopperSaucepanGroundBeefTortellini;VFX.PotGroundBeefTortellini;VFX.PotForgedGroundBeefTortellini;VFX.PMSaucepanCheddarBroccoli;VFX.PMSaucepanParmesan;VFX.PMSaucepanCreamyChicken;VFX.PMSaucepanCreamyPesto;VFX.PMSaucepanAlfredo;VFX.PMSaucepanMacCheese;VFX.PMCopperSaucepanCheddarBroccoli;VFX.PMCopperSaucepanParmesan;VFX.PMCopperSaucepanCreamyChicken;VFX.PMCopperSaucepanCreamyPesto;VFX.PMCopperSaucepanAlfredo;VFX.PMCopperSaucepanMacCheese;VFX.RMSaucepanChicken;VFX.RMSaucepanMexican;VFX.RMSaucepanMedley;VFX.RMSaucepanFried;VFX.RMCopperSaucepanChicken;VFX.RMCopperSaucepanMexican;VFX.RMCopperSaucepanMedley;VFX.RMCopperSaucepanFried;VFX.PotButterChicken;VFX.PotThaiGreenCurry;VFX.PotMassamanCurry;VFX.PotChanaMasala;VFX.PotSweetPotatoChickpeaCurry;VFX.PotTofuCurry;VFXFriedRicePreparation;VFXFriedRiceEvolved;Base.VFXChiliSaucepanEvolved;Base.VFXChiliSaucepanCopperEvolved;Base.VFXChiliPotEvolved;Base.VFXChiliPotForgedEvolved;Base.VFXCurrySaucepanEvolved;Base.VFXCurrySaucepanCopperEvolved;Base.VFXCurryPotEvolved;Base.VFXCurryPotForgedEvolved] mappers[bowlType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 4 mapper:bowlType,
                item 1 mapper:potType,
            }

            itemMapper bowlType
            {
                VFX.ArborioRiceBowl = VFX.WaterSaucepanArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterSaucepanCopperArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotForgedArborioRice,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanCopperEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotForgedEvolved,

                VFX.BasmatiRiceBowl = VFX.WaterSaucepanBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterSaucepanCopperBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotForgedBasmatiRice,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotForgedEvolved,

                VFX.BrownRiceBowl = VFX.WaterSaucepanBrownRice,
                VFX.BrownRiceBowl = VFX.WaterSaucepanCopperBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotForgedBrownRice,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanCopperEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotForgedEvolved,

                VFX.FettuccineBowl = VFX.WaterSaucepanFettuccine,
                VFX.FettuccineBowl = VFX.WaterSaucepanCopperFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotForgedFettuccine,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanCopperEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotForgedEvolved,

                VFX.GnocchiBowl = VFX.WaterSaucepanGnocchi,
                VFX.GnocchiBowl = VFX.WaterSaucepanCopperGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotForgedGnocchi,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanCopperEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotForgedEvolved,

                VFX.JasmineRiceBowl = VFX.WaterSaucepanJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterSaucepanCopperJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotForgedJasmineRice,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanCopperEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotForgedEvolved,

                VFX.MacaroniBowl = VFX.WaterSaucepanMacaroni,
                VFX.MacaroniBowl = VFX.WaterSaucepanCopperMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotForgedMacaroni,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanCopperEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotForgedEvolved,

                VFX.PenneBowl = VFX.WaterSaucepanPenne,
                VFX.PenneBowl = VFX.WaterSaucepanCopperPenne,
                VFX.PenneBowl = VFX.WaterPotPenne,
                VFX.PenneBowl = VFX.WaterPotForgedPenne,
                VFX.PenneBowl = Base.VFXPenneSaucepanEvolved,
                VFX.PenneBowl = Base.VFXPenneSaucepanCopperEvolved,
                VFX.PenneBowl = Base.VFXPennePotEvolved,
                VFX.PenneBowl = Base.VFXPennePotForgedEvolved,

                VFX.BowlGroundBeefRavioli = VFX.SaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.CopperSaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotForgedGroundBeefRavioli,

                VFX.BowlSpinachRicottaRavioli = VFX.SaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.CopperSaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotForgedSpinachRicottaRavioli,

                VFX.BowlThreeCheeseRavioli = VFX.SaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.CopperSaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotForgedThreeCheeseRavioli,

                VFX.BowlPumpkinRavioli = VFX.SaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.CopperSaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotForgedPumpkinRavioli,

                VFX.BowlLobsterRavioli = VFX.SaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.CopperSaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotForgedLobsterRavioli,

                VFX.BowlChickenMushroomRavioli = VFX.SaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.CopperSaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotForgedChickenMushroomRavioli,

                VFX.BowlFourCheeseTortellini = VFX.SaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.CopperSaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotForgedFourCheeseTortellini,

                VFX.BowlPepperedPorkTortellini = VFX.SaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.CopperSaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotForgedPepperedPorkTortellini,

                VFX.BowlSpinachRicottaTortellini = VFX.SaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.CopperSaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotForgedSpinachRicottaTortellini,

                VFX.BowlGroundBeefTortellini = VFX.SaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.CopperSaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotForgedGroundBeefTortellini,

                VFX.BowlButterChicken = VFX.PotButterChicken,
                VFX.BowlThaiGreenCurry = VFX.PotThaiGreenCurry,
                VFX.BowlMassamanCurry = VFX.PotMassamanCurry,
                VFX.BowlChanaMasala = VFX.PotChanaMasala,
                VFX.BowlSweetPotatoChickpeaCurry = VFX.PotSweetPotatoChickpeaCurry,
                VFX.BowlTofuCurry = VFX.PotTofuCurry,

                Base.VFXBowlFriedRice = Base.VFXFriedRicePreparation,
                Base.VFXBowlFriedRice = Base.VFXFriedRiceEvolved,

                Base.VFXBowlChili = Base.VFXChiliSaucepanEvolved,
                Base.VFXBowlChili = Base.VFXChiliSaucepanCopperEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotForgedEvolved,

                Base.VFXBowlCurry = Base.VFXCurrySaucepanEvolved,
                Base.VFXBowlCurry = Base.VFXCurrySaucepanCopperEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotForgedEvolved,
            }

            itemMapper potType
            {
                Base.Saucepan = VFX.WaterSaucepanBrownRice,
                Base.Saucepan = VFX.WaterSaucepanJasmineRice,
                Base.Saucepan = VFX.WaterSaucepanBasmatiRice,
                Base.Saucepan = VFX.WaterSaucepanArborioRice,
                Base.Saucepan = VFX.WaterSaucepanMacaroni,
                Base.Saucepan = VFX.WaterSaucepanFettuccine,
                Base.Saucepan = VFX.WaterSaucepanPenne,
                Base.Saucepan = VFX.WaterSaucepanGnocchi,

                Base.Saucepan = Base.VFXBrownRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXJasmineRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXBasmatiRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXArborioRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXMacaroniSaucepanEvolved,
                Base.Saucepan = Base.VFXFettuccineSaucepanEvolved,
                Base.Saucepan = Base.VFXPenneSaucepanEvolved,
                Base.Saucepan = Base.VFXGnocchiSaucepanEvolved,

                Base.Saucepan = VFX.SaucepanGroundBeefRavioli,
                Base.Saucepan = VFX.SaucepanSpinachRicottaRavioli,
                Base.Saucepan = VFX.SaucepanThreeCheeseRavioli,
                Base.Saucepan = VFX.SaucepanPumpkinRavioli,
                Base.Saucepan = VFX.SaucepanLobsterRavioli,
                Base.Saucepan = VFX.SaucepanChickenMushroomRavioli,
                Base.Saucepan = VFX.SaucepanFourCheeseTortellini,
                Base.Saucepan = VFX.SaucepanPepperedPorkTortellini,
                Base.Saucepan = VFX.SaucepanSpinachRicottaTortellini,
                Base.Saucepan = VFX.SaucepanGroundBeefTortellini,

                Base.Saucepan = VFX.PMSaucepanCheddarBroccoli,
                Base.Saucepan = VFX.PMSaucepanParmesan,
                Base.Saucepan = VFX.PMSaucepanCreamyChicken,
                Base.Saucepan = VFX.PMSaucepanCreamyPesto,
                Base.Saucepan = VFX.PMSaucepanAlfredo,
                Base.Saucepan = VFX.PMSaucepanMacCheese,
                Base.Saucepan = VFX.RMSaucepanChicken,
                Base.Saucepan = VFX.RMSaucepanMexican,
                Base.Saucepan = VFX.RMSaucepanMedley,
                Base.Saucepan = VFX.RMSaucepanFried,

                Base.Saucepan = Base.VFXChiliSaucepanEvolved,
                Base.Saucepan = Base.VFXCurrySaucepanEvolved,

                Base.SaucepanCopper = VFX.WaterSaucepanCopperBrownRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperJasmineRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperBasmatiRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperArborioRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperMacaroni,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperFettuccine,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperPenne,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperGnocchi,

                Base.SaucepanCopper = Base.VFXBrownRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXJasmineRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXArborioRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXMacaroniSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXFettuccineSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXPenneSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXGnocchiSaucepanCopperEvolved,

                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanThreeCheeseRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanPumpkinRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanLobsterRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanChickenMushroomRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanFourCheeseTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanPepperedPorkTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefTortellini,

                Base.SaucepanCopper = VFX.PMCopperSaucepanCheddarBroccoli,
                Base.SaucepanCopper = VFX.PMCopperSaucepanParmesan,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyChicken,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyPesto,
                Base.SaucepanCopper = VFX.PMCopperSaucepanAlfredo,
                Base.SaucepanCopper = VFX.PMCopperSaucepanMacCheese,
                Base.SaucepanCopper = VFX.RMCopperSaucepanChicken,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMexican,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMedley,
                Base.SaucepanCopper = VFX.RMCopperSaucepanFried,

                Base.SaucepanCopper = Base.VFXChiliSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXCurrySaucepanCopperEvolved,

                Base.Pot = VFX.WaterPotBrownRice,
                Base.Pot = VFX.WaterPotJasmineRice,
                Base.Pot = VFX.WaterPotBasmatiRice,
                Base.Pot = VFX.WaterPotArborioRice,
                Base.Pot = VFX.WaterPotMacaroni,
                Base.Pot = VFX.WaterPotFettuccine,
                Base.Pot = VFX.WaterPotPenne,
                Base.Pot = VFX.WaterPotGnocchi,

                Base.Pot = Base.VFXBrownRicePotEvolved,
                Base.Pot = Base.VFXJasmineRicePotEvolved,
                Base.Pot = Base.VFXBasmatiRicePotEvolved,
                Base.Pot = Base.VFXArborioRicePotEvolved,
                Base.Pot = Base.VFXMacaroniPotEvolved,
                Base.Pot = Base.VFXFettuccinePotEvolved,
                Base.Pot = Base.VFXPennePotEvolved,
                Base.Pot = Base.VFXGnocchiPotEvolved,

                Base.Pot = VFX.PotGroundBeefRavioli,
                Base.Pot = VFX.PotSpinachRicottaRavioli,
                Base.Pot = VFX.PotThreeCheeseRavioli,
                Base.Pot = VFX.PotPumpkinRavioli,
                Base.Pot = VFX.PotLobsterRavioli,
                Base.Pot = VFX.PotChickenMushroomRavioli,
                Base.Pot = VFX.PotFourCheeseTortellini,
                Base.Pot = VFX.PotPepperedPorkTortellini,
                Base.Pot = VFX.PotSpinachRicottaTortellini,
                Base.Pot = VFX.PotGroundBeefTortellini,

                Base.Pot = VFX.PotButterChicken,
                Base.Pot = VFX.PotThaiGreenCurry,
                Base.Pot = VFX.PotMassamanCurry,
                Base.Pot = VFX.PotChanaMasala,
                Base.Pot = VFX.PotSweetPotatoChickpeaCurry,
                Base.Pot = VFX.PotTofuCurry,

                Base.Pot = Base.VFXChiliPotEvolved,
                Base.Pot = Base.VFXCurryPotEvolved,

                Base.PotForged = VFX.WaterPotForgedBrownRice,
                Base.PotForged = VFX.WaterPotForgedJasmineRice,
                Base.PotForged = VFX.WaterPotForgedBasmatiRice,
                Base.PotForged = VFX.WaterPotForgedArborioRice,
                Base.PotForged = VFX.WaterPotForgedMacaroni,
                Base.PotForged = VFX.WaterPotForgedFettuccine,
                Base.PotForged = VFX.WaterPotForgedPenne,
                Base.PotForged = VFX.WaterPotForgedGnocchi,

                Base.PotForged = Base.VFXBrownRicePotForgedEvolved,
                Base.PotForged = Base.VFXJasmineRicePotForgedEvolved,
                Base.PotForged = Base.VFXBasmatiRicePotForgedEvolved,
                Base.PotForged = Base.VFXArborioRicePotForgedEvolved,
                Base.PotForged = Base.VFXMacaroniPotForgedEvolved,
                Base.PotForged = Base.VFXFettuccinePotForgedEvolved,
                Base.PotForged = Base.VFXPennePotForgedEvolved,
                Base.PotForged = Base.VFXGnocchiPotForgedEvolved,

                Base.PotForged = VFX.PotForgedGroundBeefRavioli,
                Base.PotForged = VFX.PotForgedSpinachRicottaRavioli,
                Base.PotForged = VFX.PotForgedThreeCheeseRavioli,
                Base.PotForged = VFX.PotForgedPumpkinRavioli,
                Base.PotForged = VFX.PotForgedLobsterRavioli,
                Base.PotForged = VFX.PotForgedChickenMushroomRavioli,
                Base.PotForged = VFX.PotForgedFourCheeseTortellini,
                Base.PotForged = VFX.PotForgedPepperedPorkTortellini,
                Base.PotForged = VFX.PotForgedSpinachRicottaTortellini,
                Base.PotForged = VFX.PotForgedGroundBeefTortellini,

                Base.PotForged = Base.VFXChiliPotForgedEvolved,
                Base.PotForged = Base.VFXCurryPotForgedEvolved,

                Base.Pan = Base.VFXFriedRicePreparation,
                Base.Pan = VFXFriedRiceEvolved,

                Base.PanForged = VFXFriedRicePreparationForged,
                Base.PanForged = VFXFriedRiceEvolvedForged,
            }
        }

        craftRecipe Make2Plates
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 2 [Base.Plate] mode:destroy flags[ItemCount],
                item 1 [VFX.TrayShepherdsPie;VFX.TrayTunaCasserole;VFX.TrayBakedZiti;VFX.TrayStuffedBellPepper;VFX.PanChickenPotPie;VFX.TrayMoussaka;VFX.TrayChickenDivan;VFX.TraySalisburySteak;VFX.TraySausageAppleFry;Base.VFXLasagnaEvolved;Base.VFXCasseroleEvolved;Base.VFXMeatloafPreparation;Base.VFXMeatloafEvolved;Base.VFXScallopedPotatoBakePreparation;Base.VFXScallopedPotatoBakeEvolved;Base.VFXQuichePreparation;Base.VFXQuicheEvolved;Base.VFXNachosPreparation;Base.VFXNachosEvolved;Base.VFXEnchiladaPreparation;Base.VFXEnchiladaEvolved] mappers[plateType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 2 mapper:plateType,
                item 1 mapper:potType,
            }

            itemMapper plateType
            {
                VFX.PlateShepherdsPie = VFX.TrayShepherdsPie,
                VFX.PlateTunaCasserole = VFX.TrayTunaCasserole,
                VFX.PlateBakedZiti = VFX.TrayBakedZiti,
                VFX.PlateStuffedBellPepper = VFX.TrayStuffedBellPepper,
                VFX.PlateChickenPotPie = VFX.PanChickenPotPie,
                VFX.PlateMoussaka = VFX.TrayMoussaka,
                VFX.PlateChickenDivan = VFX.TrayChickenDivan,
                VFX.PlateSalisburySteak = VFX.TraySalisburySteak,
                VFX.PlateSausageAppleFry = VFX.TraySausageAppleFry,

                Base.VFXPlateLasagna = Base.VFXLasagnaEvolved,
                Base.VFXPlateCasserole = Base.VFXCasseroleEvolved,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafPreparation,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafEvolved,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakePreparation,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakeEvolved,
                Base.VFXPlateQuiche = Base.VFXQuichePreparation,
                Base.VFXPlateQuiche = Base.VFXQuicheEvolved,
                Base.VFXPlateNachos = Base.VFXNachosPreparation,
                Base.VFXPlateNachos = Base.VFXNachosEvolved,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaPreparation,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaEvolved,
            }

            itemMapper potType
            {
                Base.RoastingPan = VFX.TrayShepherdsPie,
                Base.RoastingPan = VFX.TrayTunaCasserole,
                Base.RoastingPan = VFX.TrayBakedZiti,
                Base.RoastingPan = VFX.TrayStuffedBellPepper,
                Base.RoastingPan = VFX.TrayMoussaka,
                Base.RoastingPan = VFX.TrayChickenDivan,
                Base.RoastingPan = VFX.TraySalisburySteak,
                Base.RoastingPan = VFX.TraySausageAppleFry,

                Base.RoastingPan = Base.VFXLasagnaEvolved,
                Base.RoastingPan = Base.VFXCasseroleEvolved,
                Base.RoastingPan = Base.VFXMeatloafPreparation,
                Base.RoastingPan = Base.VFXMeatloafEvolved,
                Base.RoastingPan = Base.VFXScallopedPotatoBakePreparation,
                Base.RoastingPan = Base.VFXScallopedPotatoBakeEvolved,
                Base.RoastingPan = Base.VFXNachosPreparation,
                Base.RoastingPan = Base.VFXNachosEvolved,
                Base.RoastingPan = Base.VFXEnchiladaPreparation,
                Base.RoastingPan = Base.VFXEnchiladaEvolved,

                Base.BakingPan = VFX.PanChickenPotPie,
                Base.BakingPan = Base.VFXQuichePreparation,
                Base.BakingPan = Base.VFXQuicheEvolved,
            }
        }

        craftRecipe Make4Plates
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 4 [Base.Plate] mode:destroy flags[ItemCount],
                item 1 [VFX.TrayShepherdsPie;VFX.TrayTunaCasserole;VFX.TrayBakedZiti;VFX.TrayStuffedBellPepper;VFX.PanChickenPotPie;VFX.TrayMoussaka;VFX.TrayChickenDivan;VFX.TraySalisburySteak;VFX.TraySausageAppleFry;Base.VFXLasagnaEvolved;Base.VFXCasseroleEvolved;Base.VFXMeatloafPreparation;Base.VFXMeatloafEvolved;Base.VFXScallopedPotatoBakePreparation;Base.VFXScallopedPotatoBakeEvolved;Base.VFXQuichePreparation;Base.VFXQuicheEvolved;Base.VFXNachosPreparation;Base.VFXNachosEvolved;Base.VFXEnchiladaPreparation;Base.VFXEnchiladaEvolved] mappers[plateType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 4 mapper:plateType,
                item 1 mapper:potType,
            }

            itemMapper plateType
            {
                VFX.PlateShepherdsPie = VFX.TrayShepherdsPie,
                VFX.PlateTunaCasserole = VFX.TrayTunaCasserole,
                VFX.PlateBakedZiti = VFX.TrayBakedZiti,
                VFX.PlateStuffedBellPepper = VFX.TrayStuffedBellPepper,
                VFX.PlateChickenPotPie = VFX.PanChickenPotPie,
                VFX.PlateMoussaka = VFX.TrayMoussaka,
                VFX.PlateChickenDivan = VFX.TrayChickenDivan,
                VFX.PlateSalisburySteak = VFX.TraySalisburySteak,
                VFX.PlateSausageAppleFry = VFX.TraySausageAppleFry,

                Base.VFXPlateLasagna = Base.VFXLasagnaEvolved,
                Base.VFXPlateCasserole = Base.VFXCasseroleEvolved,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafPreparation,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafEvolved,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakePreparation,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakeEvolved,
                Base.VFXPlateQuiche = Base.VFXQuichePreparation,
                Base.VFXPlateQuiche = Base.VFXQuicheEvolved,
                Base.VFXPlateNachos = Base.VFXNachosPreparation,
                Base.VFXPlateNachos = Base.VFXNachosEvolved,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaPreparation,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaEvolved,
            }

            itemMapper potType
            {
                Base.RoastingPan = VFX.TrayShepherdsPie,
                Base.RoastingPan = VFX.TrayTunaCasserole,
                Base.RoastingPan = VFX.TrayBakedZiti,
                Base.RoastingPan = VFX.TrayStuffedBellPepper,
                Base.RoastingPan = VFX.TrayMoussaka,
                Base.RoastingPan = VFX.TrayChickenDivan,
                Base.RoastingPan = VFX.TraySalisburySteak,
                Base.RoastingPan = VFX.TraySausageAppleFry,

                Base.RoastingPan = Base.VFXLasagnaEvolved,
                Base.RoastingPan = Base.VFXCasseroleEvolved,
                Base.RoastingPan = Base.VFXMeatloafPreparation,
                Base.RoastingPan = Base.VFXMeatloafEvolved,
                Base.RoastingPan = Base.VFXScallopedPotatoBakePreparation,
                Base.RoastingPan = Base.VFXScallopedPotatoBakeEvolved,
                Base.RoastingPan = Base.VFXNachosPreparation,
                Base.RoastingPan = Base.VFXNachosEvolved,
                Base.RoastingPan = Base.VFXEnchiladaPreparation,
                Base.RoastingPan = Base.VFXEnchiladaEvolved,

                Base.BakingPan = VFX.PanChickenPotPie,
                Base.BakingPan = Base.VFXQuichePreparation,
                Base.BakingPan = Base.VFXQuicheEvolved,
            }
        }

}